Skip to content

Commit

Permalink
3.0.0.Alpha2 announcement
Browse files Browse the repository at this point in the history
  • Loading branch information
Naros committed Aug 5, 2024
1 parent b1366a3 commit 0b941bf
Show file tree
Hide file tree
Showing 2 changed files with 164 additions and 1 deletion.
2 changes: 1 addition & 1 deletion _data/releases/3.0/3.0.0.Alpha2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ date: 2024-08-02
version: "3.0.0.Alpha2"
stable: false
summary: Kafka upgraded to 3.8.0; JDBC sink connector code moved to core repository; Vitess connector processes empty shards; Debezium Server supports custom converters; MariaDB connector included in Debezium image; `FLOAT32` support in Spanner connector
#announcement_url:
announcement_url: /blog/2024/08/02/debezium-3.0-alpha2-released/

163 changes: 163 additions & 0 deletions _posts/2024-08-02-debezium-3.0-alpha2-released.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
---
layout: post
title: Debezium 3.0.0.Alpha2 Released
date: 2024-08-02
tags: [ releases, mongodb, mysql, mariadb, postgres, sqlserver, cassandra, oracle, db2, vitess, outbox, spanner, jdbc, informix, ibmi ]
author: ccranfor
---

As the summer temperatures continue to rise, the Debezium community is pleased to announce Debezium *3.0.0.Alpha2* is now available for testing.

This release includes a host of new features and improvements, including being built on top of Kafka 3.8, the relocation of the JDBC sink connector, custom converters support in Debezium Server, and several improvements to our community-led connectors.

+++<!-- more -->+++

[id="breaking-changes"]
== Breaking changes

With any new major release of software, there is often several breaking changes.
The Debezium **3.0.0.Alpha2** release is no exception, so let's discuss the major changes you should be aware about.

=== Built on Kafka 3.8

This release moves to Kafka 3.8 as our baseline for testing and building Debezium.
Kafka 3.8 changed a number of internal APIs that needed to be adapted for Debezium's use (https://issues.redhat.com/browse/DBZ-8105[DBZ-8105]).

For most users, this change has no impact; however, if you are extending Debezium, it's important to be aware of these changes.

[id="new-features-and-improvements"]

== New features and improvements

The upgrade to Debezium **3.0.0.Alpha2** introduces a number of new improvements to several components:

[id="new-features-jdbc"]
=== JDBC Sink

==== Relocation of JDBC sink repository

The JDBC sink repository has been relocated from https://github.com/debezium/debezium-connector-jdbc[debezium-connector-jdbc] to https://github.com/debezium/debezium[debezium] main repository (https://issues.redhat.com/browse/DBZ-8008[DBZ-8008]).
With the introduction of the MongoDB sink connector in Debezium 3.0.0.Alpha1, this allows the team to easily share common contracts across our sink connectors.

Moving forward, to raise pull requests for the JDBC sink, please use the main Debezium repository, as the old repository will be archived and placed into read-only mode after Debezium 2.7.1.Final this week.

[id="new-features-server"]
=== Debezium Server

==== Custom converter types support

In prior releases of Debezium Server, there were a finite number of converters that could be used for headers, keys, and values.
These included `Json`, `JsonByteArray`, `CloudEvents`, `Avro`, `Protobuf`, `Binary`, and `SimpleString`.
While these often satisfied a vast majority of use cases, it's not uncommon that someone may have a unique requirement specific to their environment that is outside these options.

In this release, a new `ClientProvided` converter option has been added, which allows for extending the header, key, and value converters with a custom, user-supplied implementation (https://issues.redhat.com/browse/DBZ-8040[DBZ-8040]).

[id="new-features-spanner"]
=== Google Spanner

==== Support for 32-bit floats

The Google Spanner database introduced support for a 32-bit float data type.
The Debezium Google Spanner connector has been adjusted to support this new data type (https://issues.redhat.com/browse/DBZ-8043[DBZ-8043]).

[id="new-features-vitess"]
=== Vitess

==== Empty shard support

In Vitess, it is possible for a keyspace to have shards that have no tablets.
Debezium for Vitess has improved working with this use case, and now gracefully handles such a keyspace without fault (https://issues.redhat.com/browse/DBZ-8053[DBZ-8053]).

[id="other-changes"]
== Other changes

* Embedded Infinispan tests fail to start with Java 23 https://issues.redhat.com/browse/DBZ-7840[DBZ-7840]
* Clarify that Oracle connector does not read from physical standby https://issues.redhat.com/browse/DBZ-7895[DBZ-7895]
* Bump Infinispan to 14.0.29.Final https://issues.redhat.com/browse/DBZ-8010[DBZ-8010]
* StackOverflow exception on incremental snapshot https://issues.redhat.com/browse/DBZ-8011[DBZ-8011]
* Write a blog post about async engine https://issues.redhat.com/browse/DBZ-8013[DBZ-8013]
* Test offset/history store configurations https://issues.redhat.com/browse/DBZ-8015[DBZ-8015]
* JDBC primary.key.fields cannot be empty when i set insert.mode to upsert and primary.key.mode record_value https://issues.redhat.com/browse/DBZ-8018[DBZ-8018]
* Unable to acquire buffer lock, buffer queue is likely full https://issues.redhat.com/browse/DBZ-8022[DBZ-8022]
* Add Status ObservedGeneration to Operator https://issues.redhat.com/browse/DBZ-8025[DBZ-8025]
* Release process sets incorrect images for k8s for the next development version https://issues.redhat.com/browse/DBZ-8041[DBZ-8041]
* Use recreate as (default) rollout strategy for deployments https://issues.redhat.com/browse/DBZ-8047[DBZ-8047]
* "Unexpected input: ." when snapshot incremental empty Database https://issues.redhat.com/browse/DBZ-8050[DBZ-8050]
* Debezium Operator Using RollingUpdate Strategy https://issues.redhat.com/browse/DBZ-8051[DBZ-8051]
* Debezium Operator Using RollingUpdate Strategy https://issues.redhat.com/browse/DBZ-8052[DBZ-8052]
* Refactor LogMining implementation to allow alternative cache implementations https://issues.redhat.com/browse/DBZ-8054[DBZ-8054]
* Oracle connector inconsistency in redo log switches https://issues.redhat.com/browse/DBZ-8055[DBZ-8055]
* Blocking snapshot can fail due to CommunicationsException https://issues.redhat.com/browse/DBZ-8058[DBZ-8058]
* FakeDNS not working with JDK version > 18 https://issues.redhat.com/browse/DBZ-8059[DBZ-8059]
* Debezium Operator with a provided Service Account doesn't spin up deployment https://issues.redhat.com/browse/DBZ-8061[DBZ-8061]
* Upgrade postgres server version to 15 https://issues.redhat.com/browse/DBZ-8062[DBZ-8062]
* Standard Webhooks signatures for HTTP sink https://issues.redhat.com/browse/DBZ-8063[DBZ-8063]
* ParsingException (MySQL/MariaDB): rename table syntax https://issues.redhat.com/browse/DBZ-8066[DBZ-8066]
* Disable DebeziumResourceNoTopicCreationIT - no longer compatible with Java 21 https://issues.redhat.com/browse/DBZ-8067[DBZ-8067]
* Oracle histogram metrics are no longer printed in logs correctly https://issues.redhat.com/browse/DBZ-8068[DBZ-8068]
* Vitess-connector should provide a topic naming strategy that supports separate connectors per-table https://issues.redhat.com/browse/DBZ-8069[DBZ-8069]
* In hybrid log.mining.strategy reconstruction logs should be set to DEBUG https://issues.redhat.com/browse/DBZ-8070[DBZ-8070]
* Speed-up PostgresShutdownIT https://issues.redhat.com/browse/DBZ-8075[DBZ-8075]
* Support capturing BLOB column types during snapshot for MySQL/MariaDB https://issues.redhat.com/browse/DBZ-8076[DBZ-8076]
* Standard Webhooks auth secret config value is not marked as PASSWORD_PATTERN https://issues.redhat.com/browse/DBZ-8078[DBZ-8078]
* Vitess transaction Epoch should not reset to zero when tx ID is missing https://issues.redhat.com/browse/DBZ-8087[DBZ-8087]
* Add MariaDB to debezium/connect image https://issues.redhat.com/browse/DBZ-8088[DBZ-8088]
* After changing the column datatype from int to float the Debezium fails to round it and i get a null value for this field in the stream https://issues.redhat.com/browse/DBZ-8089[DBZ-8089]
* MySQL and MariaDB keyword YES cannot be parsed as a column name https://issues.redhat.com/browse/DBZ-8092[DBZ-8092]
* Update third-party LICENSE with LGPL forMariaDB Connector/J https://issues.redhat.com/browse/DBZ-8099[DBZ-8099]
* NotificationIT tests seemingly seem to fail due to stepping on one another https://issues.redhat.com/browse/DBZ-8100[DBZ-8100]
* ORA-26928 - Unable to communicate with XStream apply coordinator process should be retriable https://issues.redhat.com/browse/DBZ-8102[DBZ-8102]
* Transformations are not closed in emebdded engine https://issues.redhat.com/browse/DBZ-8106[DBZ-8106]
* Rabbitmq native stream Failed https://issues.redhat.com/browse/DBZ-8108[DBZ-8108]
* Don't close connection after loading timescale metadata in TimescaleDb SMT https://issues.redhat.com/browse/DBZ-8109[DBZ-8109]

In total, https://issues.redhat.com/issues/?jql=project%20%3D%20DBZ%20and%20fixVersion%20%20in%20(3.0.0.Alpha2)[43 issues] were resolved in Debezium 3.0.0.Alpha2.
The list of changes can also be found in our https://debezium.io/releases/3.0[release notes].

A big thank you to all the contributors from the community who worked diligently on this release:
https://github.com/jchipmunk[Andrey Pustovetov],
https://github.com/ani-sha[Anisha Mohanty],
https://github.com/arawind[Aravind],
https://github.com/bpaquet[Bertrand Paquet],
https://github.com/Naros[Chris Cranford],
https://github.com/cjmencias[Christian Jacob Mencias],
https://github.com/DLT1412[Duc Le Tu],
https://github.com/ganesh-bankar[Ganesh Bankar],
https://github.com/gaurav7261[Gaurav Miglani],
https://github.com/gunnarmorling[Gunnar Morling],
https://github.com/harveyyue[Harvey Yue],
https://github.com/HenkvanDyk[Henk van Dyk],
https://github.com/blcksrx[Hossein Torabi],
https://github.com/nicholas-fwang[Inki Hwang],
https://github.com/jcechace[Jakub Cechacek],
https://github.com/jeremy-l-ford[Jeremy Ford],
https://github.com/jpechane[Jiri Pechanec],
https://github.com/Naros[M. Gökhan Akgül],
https://github.com/mfvitale[Mario Fiore Vitale],
https://github.com/michal-k-gl[Michal Pioun],
https://github.com/mimaison[Mickael Maison],
https://github.com/nguymin4[Minh Son Nguyen],
https://github.com/obabec[Ondrej Babec],
https://github.com/roldanbob[Robert Roldan],
https://github.com/rkudryashov[Roman Kudryashov],
https://github.com/ryanvanhuuksloot[Ryan van Huuksloot],
https://github.com/joontube[Seongjoon Jeong],
https://github.com/twthorn[Thomas Thornton],
https://github.com/TimoWilhelm[Timo Wilhelm],
https://github.com/blcksrx[Hossein Torabi],
https://github.com/ramanenka[Vadzim Ramanenka],
https://github.com/vjuranek[Vojtech Juranek],
https://github.com/j2gg0s[Yanjie Wang], and
https://github.com/LucasZhanye[张展业]!

[id="whats-next"]
== What's next &amp; Outlook

We are about half-way through the Debezium 3.0 release cycle, with many more new features still in the works.
As we continue to work through these features, we will continue to update Debezium 2.7 with bug fixes and various improvements.
You can expect the first maintenance release 2.7.1.Final for Debezium later this week.

Please check out our https://debezium.io/roadmap[road map] for more details, and get involved in the conversation.
You can contact us on the https://groups.google.com/g/debezium[mailing list] or https://debezium.zulipchat.com/login/#narrow/stream/302529-users[Zulip chat] if you have any questions or suggestions about anything Debezuim.

Until next time, stay cool and safe...

0 comments on commit 0b941bf

Please sign in to comment.