DanielLeens commented on PR #11639: URL: https://github.com/apache/seatunnel/pull/11639#issuecomment-6594689230
Pushed `b793521df7b` to fix an OceanBase CDC runtime gap that this PR introduces once it is combined with #12477 (already in the merge base). **Problem.** `connector-cdc-oceanbase/pom.xml` excluded `io.debezium:debezium-core` and `debezium-api` from its `connector-cdc-mysql` dependency, with the note that `connector-cdc-base` provides them. This PR makes `connector-cdc-base` declare Debezium as `provided`, so the base jar now ships only its five patched `io.debezium` classes. With the exclusions still in place, nothing put the stock Debezium runtime (`io.debezium.config.Configuration`, `io.debezium.engine.DebeziumEngine`, ...) into the OceanBase jar, and its `MySqlIncrementalSource`-based source would fail with `NoClassDefFoundError`. The existing `TestOceanBaseCdcPackagingIT` did not catch this: it only checks for classes shadowing `connector-cdc-base`, and an empty Debezium set passes that check trivially. **Fix.** - Removed the two exclusions, so OceanBase bundles Debezium the same way `connector-cdc-mysql` now does. The `connector-cdc` parent shade filter added in this PR still drops the stock `ChangeEventQueue` / `TableId` / `HistorizedRelationalDatabaseConnectorConfig` / `HeartbeatFactory` classes, so the patched Serializable `TableId` from `connector-cdc-base` stays the only definition. The two existing packaging assertions (no shadowed classes, `TableId` serializable when the connector jar comes first) remain the guard for that. - Extended `TestOceanBaseCdcPackagingIT` with `packagedJarShipsStockDebeziumRuntime`, which asserts the packaged jar contains `io/debezium/config/Configuration.class` (debezium-core) and `io/debezium/engine/DebeziumEngine.class` (debezium-api). It fails on the previous head. - Added an OceanBase line to the EN/ZH incompatible-changes entry. TiDB CDC was also checked: it only uses `SourceOptions`, `StartupMode` and `TemporalConversions` from cdc-base and no Debezium types, so it is unaffected. Only `spotless` was run locally; the fork CI run on `b793521df7b` is the verification. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
