Repository navigation
chore(deps): Bump debezium-version from 3.6.3.Final to 3.7.0.Final - #27366
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps `debezium-version` from 3.6.3.Final to 3.7.0.Final. Updates `io.debezium:debezium-api` from 3.6.3.Final to 3.7.0.Final Updates `io.debezium:debezium-embedded` from 3.6.3.Final to 3.7.0.Final Updates `io.debezium:debezium-storage-file` from 3.6.3.Final to 3.7.0.Final Updates `io.debezium:debezium-connector-mysql` from 3.6.3.Final to 3.7.0.Final Updates `io.debezium:debezium-connector-db2` from 3.6.3.Final to 3.7.0.Final - [Commits](debezium/debezium-connector-db2@v3.6.3.Final...v3.7.0.Final) Updates `io.debezium:debezium-connector-mongodb` from 3.6.3.Final to 3.7.0.Final Updates `io.debezium:debezium-connector-oracle` from 3.6.3.Final to 3.7.0.Final Updates `io.debezium:debezium-connector-postgres` from 3.6.3.Final to 3.7.0.Final Updates `io.debezium:debezium-connector-sqlserver` from 3.6.3.Final to 3.7.0.Final --- updated-dependencies: - dependency-name: io.debezium:debezium-api dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-embedded dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-storage-file dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-connector-mysql dependency-version: 3.7.0.Final dependency-type: direct:development update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-connector-db2 dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-connector-mongodb dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-connector-oracle dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-connector-postgres dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.debezium:debezium-connector-sqlserver dependency-version: 3.7.0.Final dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
apupier
left a comment
There was a problem hiding this comment.
compilation error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.16.0:compile (default-compile) on project camel-debezium-mysql: Compilation failure: Compilation failure:
Error: [ERROR] /home/runner/work/camel/camel/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/mysql/DebeziumMySqlComponentConfigurer.java:[104,63] cannot find symbol
[ERROR] symbol: method setDdlParserType(java.lang.String)
[ERROR] location: class org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration
Error: [ERROR] /home/runner/work/camel/camel/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/mysql/DebeziumMySqlComponentConfigurer.java:[643,70] cannot find symbol
[ERROR] symbol: method getDdlParserType()
[ERROR] location: class org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration
Error: [ERROR] /home/runner/work/camel/camel/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/mysql/DebeziumMySqlEndpointConfigurer.java:[94,56] cannot find symbol
[ERROR] symbol: method setDdlParserType(java.lang.String)
[ERROR] location: class org.apache.camel.component.debezium.mysql.configuration.MySqlConnectorEmbeddedDebeziumConfiguration
Error: [ERROR] /home/runner/work/camel/camel/components/camel-debezium/camel-debezium-mysql/src/generated/java/org/apache/camel/component/debezium/mysql/DebeziumMySqlEndpointConfigurer.java:[635,63] cannot find symbol
[ERROR] symbol: method getDdlParserType()
|
This bump can't go in as a bare version change — it fails to compile, and it's a real incompatibility rather than a CI flake: Debezium 3.7.0 changed the MySQL connector's configuration properties, so the committed generated configurers (and the Claude Code on behalf of oscerd |
oscerd
left a comment
There was a problem hiding this comment.
@apupier's CHANGES_REQUESTED still stands — the head is still 5d658aeb, never amended or rebased, so the concern is 100% live. Rather than stack a second block, here's the root cause, because the existing reviews describe the symptom slightly inaccurately and the distinction changes what the fix has to be.
CI
build (17, false) fail 7m15s
build (25, false) fail 6m54s
Dependency Analysis (non-blocking) fail 10m57s
dependency-review pass
upload pass
Compilation failure, not a flake.
Root cause: ddl.parser.type was not removed from Debezium — it was dropped from the published ConfigDefinition
The reviews so far say "Debezium 3.7.0 changed the MySQL connector's configuration properties". That's close but not quite it. I downloaded both connector jars from Maven Central and disassembled io.debezium.connector.mysql.MySqlConnectorConfig:
| 3.6.3.Final | 3.7.0.Final | |
|---|---|---|
public static final Field DDL_PARSER_TYPE |
present | still present |
DdlParserType.parse(...) in constructor |
present | still present |
public DdlParserType getDdlParserType() |
present | still present |
Referenced in the CONFIG_DEFINITION static initializer |
yes (via .connector(...)) |
no — reference removed |
| ConfigDefinitionEditor API | .type()/.connector()/.events() |
.group(Field$Group, ...) |
So the option still works at runtime; it just vanished from the connector's published config definition, alongside a refactor of ConfigDefinitionEditor to a generic .group() API.
That's precisely what breaks Camel: components/camel-debezium/camel-debezium-mysql/pom.xml:75-109 runs camel-debezium-maven-plugin against MySqlConnectorConfig to generate MySqlConnectorEmbeddedDebeziumConfiguration at build time. Under 3.7.0 the generator no longer sees the field, so the regenerated class loses ddlParserType while these committed artifacts still reference it:
src/generated/java/.../DebeziumMySqlComponentConfigurer.java(:104, :373, :643)src/generated/java/.../DebeziumMySqlEndpointConfigurer.java(:94, :364, :635)src/generated/java/.../DebeziumMySqlEndpointUriFactory.java(:62)src/generated/resources/META-INF/.../debezium-mysql.json(:73, :217)
What this means for the fix
1. It's regeneration plus a deliberate decision, not a rebase. git log -S ddlParserType shows ddlParserType entered Camel in ee75edf73312 (bump 3.5.2→3.6.0, #24379) — it arrived automatically when Debezium published it, and it will now leave automatically. Someone has to decide whether Camel is happy to silently drop a documented endpoint option ("Specifies which ANTLR grammar to use for parsing MySQL DDL statements") that still functions in Debezium. Worth asking upstream whether the omission from CONFIG_DEFINITION is intentional or a 3.7.0 oversight — if it's an oversight, waiting for 3.7.1 is cheaper than shipping and then un-shipping a user-facing option.
2. An upgrade-guide entry is required and missing. A removed user-visible endpoint/component option is explicitly covered. There's a direct precedent in the very same file — camel-4x-upgrade-guide-4_23.adoc:1720:
=== camel-debezium-oracle (breaking change)— "The parameterslogMiningBufferEhcacheRollbacksConfig,logMiningBufferInfinispanCacheRollbackshave been removed due to the upgrade of Debezium to 3.6.3.Final."
A matching camel-debezium-mysql entry in the same style is needed (line 4159 is a second precedent).
3. Only camel-debezium-mysql is confirmed broken — the other eight connectors are untested. The bump moves debezium-api, -embedded, -storage-file and connectors for mysql, db2, mongodb, oracle, postgres and sqlserver in lockstep. The build failed fast on mysql, so the log says nothing about whether postgres/oracle/sqlserver/mongodb/db2 lost options too. Please regenerate all of them and diff the catalog JSONs.
4. Branch is 241 commits behind main (base 5766a64b8d00). Even after regeneration this needs a rebase before the CI result means anything.
Other upstream breaking changes worth capturing in that guide entry
Debezium 3.7 also: removes the Cassandra 3 connector (Guava 32.0.0 incompatibility — inert for Camel, which ships no Cassandra debezium connector); turns several previously-silent MySQL data-corruption cases into surfaced errors (BIGINT UNSIGNED max, BIT(>1) with Avro, ENUM/SET containing commas or quotes, spatial coordinate ordering, out-of-range TIME); and drops continuous mining for Oracle 12. It's built against Kafka Connect 4.3.1. The MySQL type-handling changes and the Oracle 12 note are good candidates for the entry.
Could not verify: whether dropping DDL_PARSER_TYPE from CONFIG_DEFINITION is intentional upstream — it isn't mentioned in the 3.7 release notes or blog, and I found no tracking DBZ issue. I also didn't regenerate locally, so I can't confirm ddlParserType is the only option lost across the nine bumped artifacts.
Reviewed with Claude Code (Claude Opus 5) on behalf of @oscerd. This review was generated by an AI agent and may contain inaccuracies; please verify all suggestions before applying. It is a rules-and-conventions review and does not replace CodeRabbit, Sourcery, or SonarCloud.
Bumps
debezium-versionfrom 3.6.3.Final to 3.7.0.Final.Updates
io.debezium:debezium-apifrom 3.6.3.Final to 3.7.0.FinalUpdates
io.debezium:debezium-embeddedfrom 3.6.3.Final to 3.7.0.FinalUpdates
io.debezium:debezium-storage-filefrom 3.6.3.Final to 3.7.0.FinalUpdates
io.debezium:debezium-connector-mysqlfrom 3.6.3.Final to 3.7.0.FinalUpdates
io.debezium:debezium-connector-db2from 3.6.3.Final to 3.7.0.FinalCommits
782f93b[maven-release-plugin] prepare release v3.7.0.Final205a83d[release] Stable parent 3.7.0.Final for release68f6f42[release] New parent 3.7.0-SNAPSHOT for developmentd4bedab[maven-release-plugin] prepare for next development iteration502460b[maven-release-plugin] prepare release v3.7.0.CR1decf948[release] Stable parent 3.7.0.CR1 for releasea35f9b0[maven-release-plugin] prepare for next development iterationec797c9[maven-release-plugin] prepare release v3.7.0.Beta272b3627[release] Stable parent 3.7.0.Beta2 for releasebb26951[ci] Bump actions/setup-java from 5 to 6Updates
io.debezium:debezium-connector-mongodbfrom 3.6.3.Final to 3.7.0.FinalUpdates
io.debezium:debezium-connector-oraclefrom 3.6.3.Final to 3.7.0.FinalUpdates
io.debezium:debezium-connector-postgresfrom 3.6.3.Final to 3.7.0.FinalUpdates
io.debezium:debezium-connector-sqlserverfrom 3.6.3.Final to 3.7.0.FinalDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)