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]

Reply via email to