zhangshenghang opened a new pull request, #12377: URL: https://github.com/apache/seatunnel/pull/12377
## Summary When a worker crashes while a pipeline is being canceled, the pipeline can incorrectly finish as `FAILED` instead of `CANCELED`. ## Root cause `SubPlan.getPipelineEndState()` prioritized `failedTaskNum` over the pipeline's `CANCELING` state. A worker failure reported before its cancel acknowledgement could therefore overwrite an already accepted cancellation request. ## Changes - Treat `CANCELING` as authoritative when determining the pipeline terminal state. - Preserve the existing failure behavior for normal task failures and resource-allocation failures. - Add a regression test covering a worker failure received after cancellation has started. ## Verification - `./mvnw -nsu -pl :seatunnel-engine-server -Dtest=StateTransitionCleanupTest -DfailIfNoTests=false -DskipITs test` - `./mvnw -nsu spotless:apply` - `git diff --check` - Full `./mvnw -nsu -q -DskipTests verify` was started, but local compilation remained CPU-bound without output after approximately 8 minutes and was stopped. Fixes #12353 -- 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]
