nzw921rx opened a new pull request, #11585: URL: https://github.com/apache/seatunnel/pull/11585
### Purpose of this pull request Closes #11584. The Kudu 1.15 client starts a graceful Netty shutdown from `KuduClient.close()`, but the call can return before its event-loop executor has terminated. Flink may then release the connector user-code classloader while Kudu threads are still completing channel cleanup, causing repeated `NoClassDefFoundError` exceptions and intermittent E2E instability. ### What changed - Manage the executor used by each internally created Kudu client. - Wait for the executor to terminate after closing the client, with a bounded forced-shutdown fallback. - Release the source enumerator client immediately after scan-token discovery. - Close each `KuduScanner` after its split is consumed, including exceptional paths. - Apply the managed lifecycle consistently to source, sink, and catalog clients. - Preserve the existing `KuduUtil.getKuduClient` method for compatibility. - Add unit coverage for graceful shutdown, forced shutdown, and client-close failures. ### Verification ```shell ./mvnw -pl seatunnel-connectors-v2/connector-kudu spotless:apply -DskipIT test ``` Result: 9 tests passed. The full `mvnw verify` command was not run. -- 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]
