nzw921rx opened a new pull request, #12263: URL: https://github.com/apache/seatunnel/pull/12263
### Purpose of this pull request\n\nRelated to #12262.\n\nPropagate the SeaTunnelTransform lifecycle through the Flink and Spark starter runtimes:\n\n- Wrap Flink map and flat-map transforms in rich functions so open and close are invoked by Flink operator lifecycle callbacks.\n- Initialize Spark transforms once per task and close them from a TaskCompletionListener.\n- Make cleanup idempotent and log close failures without interrupting the remaining runtime cleanup.\n- Add focused lifecycle tests for success, duplicate callbacks, close failures, and Spark open failures.\n\n### Does this PR introduce _any_ user-facing change?\n\nYes. Flink and Spark starter jobs now invoke SeaTunnelTransform open and close callbacks. Previously these callbacks were skipped, which could leak transform-owned resources.\n\n### How was this patch tested?\n\n- ./mvnw spotless:apply\n- ./mvnw -pl :seatunnel-flink-starter-common -Dtest=TransformExecuteProcessorTest -Dskip.spotless=true test\n- ./mvnw -pl :seatunnel-spark-starter-common -Dtest=TransformExecuteProcessorTest -Dskip.spotless=true test\n- ./mvnw -pl :seatunnel-flink-starter-common,:seatunnel-flink-13-starter,:seatunnel-flink-15-starter,:seatunnel-flink-20-starter,:seatunnel-spark-starter-common,:seatunnel-spark-2-starter,:seatunnel-spark-3-starter -DskipTests -Dskip.spotless=true package\n\n### Check list\n\n* [x] No new Jar binary package is added.\n* [x] No documentation update is needed because this fixes internal lifecycle propagation without changing configuration or public APIs.\n* [x] No incompatible change is introduced.\n* [x] This PR does not change connector registration or packaging. -- 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]
