DanielLeens commented on issue #12353: URL: https://github.com/apache/seatunnel/issues/12353#issuecomment-5714101706
Thanks for the independent reproduction. **Classification: A / Zeta cancellation state-machine correctness.** The current `dev` control path explains the observed outcome. In `SubPlan.addPhysicalVertexCallBack`, any worker `FAILED` increments `failedTaskNum` and immediately changes the pipeline to `FAILING`; when every task callback arrives, `getPipelineEndState()` gives `failedTaskNum > 0` priority over any canceled task. A worker crash in the cancel-ack window can therefore overwrite an already requested cancellation and end as `FAILED`. The fix must preserve the distinction between a normal running-job failure and a failure observed after user cancellation has become authoritative. It cannot simply reverse the final-state priority or suppress worker failures. Please keep this as a narrow Zeta lifecycle change with deterministic latch-based coverage for: (1) worker failure before cancellation begins -> `FAILED`; (2) cancellation accepted before the worker failure -> `CANCELED`; and (3) the exact crash-before-cancel-ack path, including checkpoint cancellation and error reporting. #11602 is a separate metrics PR and should not make itself green by disabling this regression; the behavior needs a dedicated fix and a passing test. I found no focused open PR for this terminal-state contract, so the tracker remains the correct place to establish it before implementation. -- 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]
