I am happy to announce the third maintenance release of the Debezium 2.7 release stream, 2.7.3.Final. This maintenance release focuses on addressing stability and regressions, with several improvements. Let’s dive into these changes…
New features and improvements
Debezium 2.7.3.Final introduces a couple improvements and features, lets take a look at each individually.
MariaDB 11.4.3
Debezium 3 also introduces support for the most recent non-rolling release of MariaDB, 11.4.3 (DBZ-8226). We are also closing monitoring the MariaDB 11.6 release cycle and plan to introduce vector data type support when MariaDB 11.6 becomes stable.
Oracle offline RAC node flush improvements
In recent improvements to the Oracle RAC node flush strategy, it was determined that a three-second delay was being forced when an Oracle RAC node was taken offline by the database administrator. Since an Oracle RAC node cannot perform any writes to the redo logs while offline, this three-second delay introduced an unnecessary amount of latency while the node remained offline.
In Debezium 3, the three-second delay is only imposed if a connection is active to an Oracle RAC node; however, the flush SQL operation was unsuccessful. This means that when database administrators take RAC nodes offline for maintenance, no latency overhead will be imposed by the connector (DBZ-8177).
Other fixes
-
Make ORA-00600 - krvrdccs10 automatically retriable DBZ-5009
-
DDL statement couldn’t be parsed: REVOKE IF EXISTS DBZ-8209
-
Oracle TableSchemaBuilder provides wrong column name in error message DBZ-8217
-
Implement separate source and sink connector sections in documentation navigation DBZ-8220
-
Debezium does not restart automatically after throwing an ORA-00600 krvrdccs30 error DBZ-8223
-
JDBC sink doesn’t include fields as per documentation DBZ-8224
-
Broken link to Streams doc about configuring logging DBZ-8231
-
Document passthrough hibernate.* properties for the JDBC connector DBZ-8232
-
Unbounded number of processing threads in async engine DBZ-8237
-
Streaming metrics are stuck after an ad-hoc blocking snapshot DBZ-8238
-
DDL statement couldn’t be parsed with IF EXISTS DBZ-8240
-
Random engine factory used by default DBZ-8241
-
Support BLOB with EMPTY_BLOB() as default DBZ-8248
-
AbstractConnectorTest consumeRecordsUntil may prematurely exit loop DBZ-8250
In total there were 17 issues resolved in Debezium 2.7.3.Final. The list of changes can also be found in our release notes.
A big thank you to all the contributors from the community who worked diligently on this release: Andrei Leibovski, Anisha Mohanty, Chris Cranford, Jakub Cechacek, Jiri Pechanec, Oren Elias, Robert Roldan, Vojtech Juranek, and martin!
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.