oscerd commented on issue #1850: URL: https://github.com/apache/camel-kafka-connector/issues/1850#issuecomment-6654606322
Update: bumping to 3.3.4 isn't viable yet, so there's no PR for now. - **Kamelet connectors break.** The Apicurio Kamelets in the 4.22.0 catalog (and in 4.23.0) still pin 2.x serdes: 2.4.14.Final, 2.5.11.Final, or 2.6.x through `io.quarkus:quarkus-apicurio-registry-*`. With core on 3.3.4, the 2.x and 3.x jars end up in the same connector package. They define the same classes with different bytecode, and Kafka Connect loads plugin jars in alphabetical order, so the 3.3.4 copies win. `kafka-not-secured-apicurio-registry-sink` and `kafka-apicurio-registry-not-secured-sink` then fail with `NoClassDefFoundError: io/apicurio/registry/serde/data/SerdeMetadata`, and `kafka-not-secured-apicurio-registry-json-source` with `NoClassDefFoundError: .../serde/AbstractDeserializer`. I checked this by loading each package through Kafka 4.2.1's `PluginClassLoader`. - **`ExtJsonConverter` breaks.** 3.3.4 declares `connect-json` as `provided`, so it is no longer shipped. `ExtJsonConverter` then gets `JsonConverter` from the worker and fails with a `LinkageError` (loader constraint violation on Jackson's `ObjectNode`). The `connect-json` that 2.5.11.Final brings in is what keeps the bundled converter working, so the pin should stay. - **Packages grow.** Every connector package grows by about 27 to 37 MiB (tar.gz roughly 2x to 3x), mostly from the protobuf serde subtree. - **2.6.13.Final doesn't help either.** It still brings `connect-api` / `connect-json` (3.9.0) at compile scope, so it doesn't remove the leak described above, and it has no Converter manifest. The core code itself compiles and its tests pass on 3.3.4, so the bump becomes possible once the Kamelets catalog moves to Apicurio 3.x serdes. For #1633, the Apicurio converters bundled today could get a ServiceLoader manifest of our own in core instead. That is the same file Kafka's `connect-plugin-path sync-manifests` would generate. While checking the packages I found a separate problem in the four Apicurio source connectors that use the Quarkus extensions; I'll open an issue for it. --- _Claude Code on behalf of Andrea Cosentino_ -- 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]
