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]

Reply via email to