It’s my pleasure to announce the first release of the Debezium 1.9 series, 1.9.0.Alpha1!

With the new year comes a new release! The Debezium 1.9.0.Alpha1 release comes with quite a number of fixes and improvements, most notably improved metrics and Oracle ROWID data type support.

Improved Metrics

Debezium’s connectors provide a wide range of metrics. We have expanded upon the TotalNumberOfEventsSeen metric to provide a breakdown of those events by type. To support this endeavor, the following new metrics have been added:

  • TotalNumberOfCreateEventsSeen

  • TotalNumberOfUpdateEventsSeen

  • TotalNumberOfDeleteEventsSeen

These metrics represent the number of insert, update, and delete events respectively that have occurred since the start of the connector’s streaming phase. So not only can you continue to get the total number of events aggregate, but you can now get a breakdown of that total by event type.

Oracle ROWID data type support

Oracle users may elect to use a ROWID data type column as an optimization to represent a relationship between the current row and the row identified by the ROWID column value. Starting with this release, columns using the ROWID data type can be captured by Debezium and emitted in change events.

Oracle has two flavors of row identifier column data types, ROWID and UROWID. While these may be used interchangeably in some contexts, they’re very different in the context of change data capture events. Although we’ve added support for ROWID, support for UROWID remains unsupported at this time.

Other Fixes

There were quite a number of bugfixes and stability changes in this release, some noteworthy are:

  • JSON Payload not expanding when enabling it (DBZ-4457)

  • R/O incremental snapshot can blocks the binlog stream on restart (DBZ-4502)

  • Infinispan doesn’t work with underscores inside cache names (DBZ-4526)

  • Can’t process column definition with length exceeding Integer.MAX_VALUE (DBZ-4583)

  • Oracle connector can’t find the SCN (DBZ-4597)

  • Update Postgres JDBC driver to 42.3.1 (DBZ-4374)

  • Upgrade SQL Server driver to 9.4 (DBZ-4463)

Altogether, 100 issues were fixed for this release. A big thank you to all the contributors from the community who worked on this release:

What’s Next?

We have started an open discussion regarding Debezium 2.0 on the mailing list. Your feedback is invaluable so let us know what you’d like to see added, changed, or improved!

In the meantime, we’re just getting started! There will be another 1.9 pre-release in the coming weeks, sticking with our 3-week cadence. You can also expect a bugfix release sometime this quarter for 1.8 as we continue to get community feedback.

Chris Cranford

Chris is a software engineer at Red Hat. He previously was a member of the Hibernate ORM team and now works on Debezium. He lives in North Carolina just a few hours from Red Hat towers.

   


About Debezium

Debezium is an open source distributed platform that turns your existing databases into event streams, so applications can see and respond almost instantly to each committed row-level change in the databases. Debezium is built on top of Kafka and provides Kafka Connect compatible connectors that monitor specific database management systems. Debezium records the history of data changes in Kafka logs, so your application can be stopped and restarted at any time and can easily consume all of the events it missed while it was not running, ensuring that all events are processed correctly and completely. Debezium is open source under the Apache License, Version 2.0.

Get involved

We hope you find Debezium interesting and useful, and want to give it a try. Follow us on Twitter @debezium, chat with us on Zulip, or join our mailing list to talk with the community. All of the code is open source on GitHub, so build the code locally and help us improve ours existing connectors and add even more connectors. If you find problems or have ideas how we can improve Debezium, please let us know or log an issue.