DanielLeens opened a new pull request, #11178:
URL: https://github.com/apache/seatunnel/pull/11178
## What does this PR do?
Preload the Kafka cleanup-only runtime classes before connector clients are
recycled so deferred cleanup threads do not hit `NoClassDefFoundError` after
Flink starts releasing the user-code classloader.
## Why is this needed?
Recent unrelated PR CI runs repeatedly failed in `kafka-connector-it` with
`NoClassDefFoundError: org/apache/kafka/common/network/Selector$CloseMode` from
Kafka client cleanup paths. This change eagerly loads the cleanup class in the
connector code paths that create Kafka runtime clients.
## Verification
- `./mvnw -pl seatunnel-connectors-v2/connector-kafka -am spotless:apply
-DskipTests`
- `./mvnw -pl seatunnel-connectors-v2/connector-kafka
-Dtest=KafkaDeferredCleanupClassPreloaderTest -DfailIfNoTests=false test`
- Attempted: `./mvnw -pl
seatunnel-e2e/seatunnel-connector-v2-e2e/connector-kafka-e2e
-Dtest=KafkaIT#testKafkaToKafkaExactlyOnceOnStreaming -DfailIfNoTests=false
test`
- Blocked locally because the host Docker daemon timed out on the Unix
socket and Testcontainers stalled in `KafkaIT.startUp()` while resolving the
Docker client.
## Notes
- No `seatunnel-engine-ui` module changes are included.
- PR scope is limited to Kafka runtime client initialization plus one
focused unit test.
--
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]