You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DebeziumIO currently pins Debezium 3.1.3.Final (bumped in #37571). Upstream has moved on considerably and the connector should be brought up to the current stable patch line, 3.5.2.Final.
What the upgrade absorbs:
Kafka Connect 4.x alignment. Debezium 3.5 builds against Kafka Connect 4.1.2, so the connect-api pin has to move from 3.9.0. Connect 4.1 also adds an abstract pluginMetrics() to SourceTaskContext, which BeamSourceTaskContext must implement.
debezium-core module split. Debezium 3.5 split debezium-core into smaller modules (debezium-config, debezium-connector-common, and friends). The Gradle dependencies and the expansion-service shadow jar need auditing so the split classes are still bundled.
Config and behaviour changes. The schema_only snapshot mode was removed in 3.3, and connection failures now surface wrapped in a RetriableException.
Postgres JDBC driver. The 3.5 Postgres connector requires driver 42.7.x, while Beam globally pins 42.6.2 for CVE reasons (24f562d).
Notes
3.6.0 is intentionally skipped for now: it shipped a rewritten MySQL DDL parser with several open regressions and there is no 3.6.1 yet. A follow-up bump to the 3.6 line should be trivial once those settle.
Issue Priority
Priority: 2 (default / most bugs should be filed as P2)
We should enable the pos and row attributes within the metadata to support data duplication (MySQL) in the data warehouse.
Additionally, We also need source.ts_ms to identify the database commit time, which is useful for debugging.
Currently, Apache Beam supports only these following attributes, and we could not deduplicate the data correctly.
Hi @ilyasahsan123, sorry for the slow reply, and thanks a lot for the blog post and the example, really great to see!
You're right about the metadata. SourceRecordJson only kept six fields of the Debezium source block and dropped everything else, including pos, row and ts_ms. I opened #40701 for it, and #40702 adds the complete source block under metadata.source (additive, existing fields unchanged). That works for MySQL (file, pos, row, gtid, ts_ms) as well as the other connectors. Would be great if you could take a look and maybe try it with your pipeline.
Since the 3.5.2 upgrade itself landed with #39569 (shipped in 2.76.0), I'll close this issue and we can continue on #40701.
Activity
ilyasahsan123 commentedon Sep 22, 2026
hi @tkaymak
I noticed a typo here. May I submit a pull request for the correction?
tkaymak commentedon Oct 3, 2026
@ilyasahsan123 please go ahead
ilyasahsan123 commentedon Oct 11, 2026
Hi @tkaymak
We should enable the
posandrowattributes within themetadatato support data duplication (MySQL) in the data warehouse.Additionally, We also need source.ts_ms to identify the database commit time, which is useful for debugging.
Currently, Apache Beam supports only these following attributes, and we could not deduplicate the data correctly.
Apache Beam:
However, here is the complete metadata generated by Debezium:
Debezium
Is there any explanation about this?
Thanks
ilyasahsan123 commentedon Oct 20, 2026
hi @tkaymak @Abacn,
How are you? I hope you are doing well.
Do you have answer about my question above?
Please tell me if you need assistance to enable that; I am glad to contribute to this issue.
ilyasahsan123 commentedon Oct 21, 2026
hi @tkaymak
I am writing to share that I have published a blog post on
DebeziumIOwithin the Debezium Blog page. The link is below:Thanks
tkaymak commentedon Oct 21, 2026
Hi @ilyasahsan123, sorry for the slow reply, and thanks a lot for the blog post and the example, really great to see!
You're right about the metadata.
SourceRecordJsononly kept six fields of the Debeziumsourceblock and dropped everything else, includingpos,rowandts_ms. I opened #40701 for it, and #40702 adds the completesourceblock undermetadata.source(additive, existing fields unchanged). That works for MySQL (file,pos,row,gtid,ts_ms) as well as the other connectors. Would be great if you could take a look and maybe try it with your pipeline.Since the 3.5.2 upgrade itself landed with #39569 (shipped in 2.76.0), I'll close this issue and we can continue on #40701.
tkaymak commentedon Oct 21, 2026
Completed by #39569; follow-up metadata work tracked in #40701.