From 6b258c6fc7e6311959270727ce15c2a521f594ff Mon Sep 17 00:00:00 2001 From: Chris Cranford Date: Tue, 17 Sep 2024 02:59:28 -0400 Subject: [PATCH] 3.0.0.CR1 announcement --- _data/releases/3.0/3.0.0.CR1.yml | 2 +- .../2024-09-16-debezium-3-0-cr1-released.adoc | 150 ++++++++++++++++++ 2 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 _posts/2024-09-16-debezium-3-0-cr1-released.adoc diff --git a/_data/releases/3.0/3.0.0.CR1.yml b/_data/releases/3.0/3.0.0.CR1.yml index 1c6784bd650..77fdbaa7f31 100644 --- a/_data/releases/3.0/3.0.0.CR1.yml +++ b/_data/releases/3.0/3.0.0.CR1.yml @@ -2,4 +2,4 @@ date: 2024-07-13 version: "3.0.0.Beta1" stable: false summary: Support for MySQL 8.4 and 9; Support for MySQL vector datatypes and grammar; Support for MariaDB 11.4.x; Reduced delay in Oracle RAC offline node situation; Shard inheritenace in Vitess connector; MariaDB added to server distribution -#announcement_url: +announcement_url: /blog/2024/09/16/debezium-3-0-cr1-released/ diff --git a/_posts/2024-09-16-debezium-3-0-cr1-released.adoc b/_posts/2024-09-16-debezium-3-0-cr1-released.adoc new file mode 100644 index 00000000000..49340859f66 --- /dev/null +++ b/_posts/2024-09-16-debezium-3-0-cr1-released.adoc @@ -0,0 +1,150 @@ +--- +layout: post +title: Debezium 3.0.0.CR1 Released +date: 2024-09-16 +tags: [ releases, mongodb, mysql, mariadb, postgres, sqlserver, cassandra, oracle, db2, vitess, outbox, spanner, jdbc, informix, ibmi ] +author: ccranfor +--- + +The community is in the homestretch toward the next major milestone for Debezium, and we're happy to announce the availability of Debezium *3.0.0.CR1*! + +Beyond a number of bugfixes to connectors, this release also brings several improvements for MySQL, Oracle, and the Vitess connectors. +Unless any major regressions show up, we can expect Debezium 3 in the not too distant future. + +++++++ + +[id="breaking-changes"] +== Breaking changes + +The team aims to avoid any potential breaking changes between minor releases; however, such changes are sometimes inevitable. + +PostgreSQL:: +Vector data type names introduced for PostgreSQL were too database specific. +In order to provide a more generic support for vector data types, the names were adjusted to support PostgreSQL and MySQL (https://issues.redhat.com/browse/DBZ-8183[DBZ-8183]). + +Oracle:: +Several deprecated configuration properties have been removed: +* `log.mining.transaction.retention.hours` replaced by `log.mining.transaction.retention.ms` +* `log.mining.archive.destination.name` replaced by `archive.destination.name` +* `log.mining.archive.log.hours` replaced by `archive.log.hours` + ++ +Please be sure to update your Oracle connector configuration when using the deprecated configuration options to retain old behavior (https://issues.redhat.com/browse/DBZ-8181[DBZ-8181]). + + + +The default `log.mining.strategy` value has changed and is now `online_catalog`. +As a vast majority of users typically use this strategy, and it generally performs better than `redo_log_catalog`, we felt this change made since in Debezium 3. +If your deployments were previously relying on the default `redo_log_catalog` strategy, you will need to explicitly add `log.mining.strategy` to the connector configuration and specify the value `redo_log_catalog` when upgrading (https://issues.redhat.com/browse/DBZ-3656[DBZ-3656]). + +SQL Server:: +The JMX signaling and notifications for SQL Server did not work correctly when a connector was configured with multiple databases spawning multiple tasks. +To resolve this issue, it was necessary to change the naming of signalling and notification MBean names to make sure they are unique per task (https://issues.redhat.com/browse/DBZ-8137[DBZ-8137]). + +[id="new-features-and-improvements"] +== New features and improvements + +Debezium 3.0.0.CR1 also introduces several improvements and features, lets take a look at each individually. + +=== MySQL 9 + +Oracle unveiled the first innovation release of MySQL 9.0 on July 1st, 2024. +We are pleased to announce that we've tested and verified that MySQL 9.0 works and is supported starting with Debezium 3.0 (https://issues.redhat.com/browse/DBZ-8030[DBZ-8030]). +If you experience any issues or problems, please be sure to https://issues.redhat.com/projects/DBZ[open an issue]. + +=== MySQL Vector data types + +One of the newest features being added to relational databases is the introduction of vector data types. +In addition to support for MySQL 9.0, Debezium 3 also introduces support for the new `VECTOR(n)` data type, which supports a list of floating-point values that can be expressed as a binary or list-formatted string. +More information is available in the https://dev.mysql.com/doc/refman/9.0/en/vector.html[MySQL documentation] about the vector data type (https://issues.redhat.com/browse/DBZ-8157[DBZ-8157]). + +In addition, the MySQL grammar has been updated to reflect support for the new MySQL 9.0 vector functions (https://issues.redhat.com/browse/DBZ-8210[DBZ-8210]). +More information about these functions are also in the https://dev.mysql.com/doc/refman/9.0/en/vector-functions.html[MySQL documentation]. + +=== MariaDB 11.4.3 + +Debezium 3 also introduces support for the most recent non-rolling release of MariaDB, 11.4.3 (https://issues.redhat.com/browse/DBZ-8226[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 (https://issues.redhat.com/browse/DBZ-8177[DBZ-8177]). + +=== Vitess inherit shard epoch + +A new Vitess connector configuration property has been added to control whether epochs of a new shard, after a re-shard operation, inherits epochs from its parent shard. +This new configuration property, `vitess.inherit.epoch`, defaults to `false` and isn't enabled by default (https://issues.redhat.com/browse/DBZ-8163[DBZ-8163]). + +[id="other-changes"] +== Other changes + +Altogether, https://issues.redhat.com/issues/?jql=project%20%3D%20DBZ%20AND%20fixVersion%20%3D%203.0.0.CR1%20ORDER%20BY%20issuetype%20DESC[45 issues] were fixed in this release. +Here are a list of some additional noteworthy changes: + +* Make ORA-00600 - krvrdccs10 automatically retriable https://issues.redhat.com/browse/DBZ-5009[DBZ-5009] +* Incremental snapshot fails with NPE if surrogate key doesn't exist https://issues.redhat.com/browse/DBZ-7797[DBZ-7797] +* MySQL 8.4 incompatibility due to removed SQL commands https://issues.redhat.com/browse/DBZ-7838[DBZ-7838] +* Postgres connector - null value processing for "money" type column. https://issues.redhat.com/browse/DBZ-8027[DBZ-8027] +* Using snapshot.include.collection.list with Oracle raises NullPointerException https://issues.redhat.com/browse/DBZ-8032[DBZ-8032] +* Performance degradation when reconstructing (log.mining.stragtegy hybrid mode) https://issues.redhat.com/browse/DBZ-8071[DBZ-8071] +* Documentation for signals provides incorrect data-collection format for some connectors https://issues.redhat.com/browse/DBZ-8090[DBZ-8090] +* The source data type exceeds the debezium data type and cannot deserialize the object https://issues.redhat.com/browse/DBZ-8142[DBZ-8142] +* Refactor engine signal support https://issues.redhat.com/browse/DBZ-8160[DBZ-8160] +* Incorrect use of generic types in tests https://issues.redhat.com/browse/DBZ-8166[DBZ-8166] +* Latest Informix JDBC Driver https://issues.redhat.com/browse/DBZ-8167[DBZ-8167] +* Postgres JSONB Fields are not supported with Reselect Post Processor https://issues.redhat.com/browse/DBZ-8168[DBZ-8168] +* upgrade Adobe s3mock to version 3.10.0 https://issues.redhat.com/browse/DBZ-8169[DBZ-8169] +* Include Jackson libraries to JDBC connector Docker image distribution https://issues.redhat.com/browse/DBZ-8175[DBZ-8175] +* Ehcache fails to start, throwing "Invaild XML Configuration" https://issues.redhat.com/browse/DBZ-8178[DBZ-8178] +* Enable snapshot.database.errors.max.retriesEnable during Oracle tests https://issues.redhat.com/browse/DBZ-8184[DBZ-8184] +* Change event for a logical decoding message doesn't contain `transaction` field https://issues.redhat.com/browse/DBZ-8185[DBZ-8185] +* Add MariaDB connector server distribution https://issues.redhat.com/browse/DBZ-8186[DBZ-8186] +* NullPointerException (schemaUpdateCache is null) when restarting Oracle engine https://issues.redhat.com/browse/DBZ-8187[DBZ-8187] +* XStream may fail to attach on retry if previous attempt failed https://issues.redhat.com/browse/DBZ-8188[DBZ-8188] +* Truncate byte buffer should return a new array https://issues.redhat.com/browse/DBZ-8189[DBZ-8189] +* Update Vitess example to Debezium 2.7/Vitess 19 https://issues.redhat.com/browse/DBZ-8196[DBZ-8196] +* OracleConnectorIT test shouldGracefullySkipObjectBasedTables can timeout prematurely https://issues.redhat.com/browse/DBZ-8197[DBZ-8197] +* Exclude Oracle 23 VECSYS tablespace from capture https://issues.redhat.com/browse/DBZ-8198[DBZ-8198] +* AbstractProcessorTest uses an incorrect database name when run against Oracle 23 Free edition https://issues.redhat.com/browse/DBZ-8199[DBZ-8199] +* Reduce log verbosity of OpenLogReplicator SCN confirmation https://issues.redhat.com/browse/DBZ-8201[DBZ-8201] +* Support for older MongoDb versions https://issues.redhat.com/browse/DBZ-8202[DBZ-8202] +* DDL statement couldn't be parsed: REVOKE IF EXISTS https://issues.redhat.com/browse/DBZ-8209[DBZ-8209] +* System testsuite fails with route name being too long https://issues.redhat.com/browse/DBZ-8213[DBZ-8213] +* Oracle TableSchemaBuilder provides wrong column name in error message https://issues.redhat.com/browse/DBZ-8217[DBZ-8217] +* Using ehcache in Kafka connect throws an XMLConfiguration parse exception https://issues.redhat.com/browse/DBZ-8219[DBZ-8219] +* Implement separate source and sink connector sections in documentation navigation https://issues.redhat.com/browse/DBZ-8220[DBZ-8220] +* OcpJdbcSinkConnectorIT fails https://issues.redhat.com/browse/DBZ-8228[DBZ-8228] +* Container image does not install correct apicurio deps https://issues.redhat.com/browse/DBZ-8230[DBZ-8230] +* Add information about helm chart installation to operator readme https://issues.redhat.com/browse/DBZ-8233[DBZ-8233] + +A huge thank you to all contributors from the community who worked on this release: +https://github.com/ajit97singh[Ajit], +https://github.com/Naros[Chris Cranford], +https://github.com/jcechace[Jakub Cechacek], +https://github.com/jpechane[Jiri Pechanec], +https://github.com/joschi[Jochen Schalanda], +https://github.com/nrkljo[Lars M. Johansson], +https://github.com/mfvitale[Mario Fiore Vitale], +https://github.com/nguymin4[Minh Son Nguyen], +https://github.com/shaer[Mohamed El Shaer], +https://github.com/obabec[Ondrej Babec], +https://github.com/zalmane[Oren Elias], +https://github.com/rk3rn3r[René Kerner], +https://github.com/roldanbob[Robert Roldan], +https://github.com/rkudryashov[Roman Kudryashov], +https://github.com/sullis[Sean C. Sullivan], +https://github.com/GitHubSergei[Sergei Kazakov], +https://github.com/SylvainMarty[Sylvain Marty], +https://github.com/twthorn[Thomas Thornton], +https://github.com/PlugaruT[Tudor Plugaru], +https://github.com/vjuranek[Vojtěch Juránek], and +https://github.com/moyq5[moyq5]! + + + + + + +