davidzollo opened a new pull request, #10551:
URL: https://github.com/apache/seatunnel/pull/10551
## What this PR fixes
`PhysicalVertex.updateTaskState` could stop state progression when the task
state entry is missing from `runningJobStateIMap` (for example during node
scaling down/member removal).
When this happened, `taskFuture` might never complete, and pipeline
completion counting in `SubPlan` could hang.
## Changes
- In `PhysicalVertex.updateTaskState`:
- handle missing state entry with `stateEntryMissing` guard
- continue local state transition using `currExecutionState` instead of
returning early
- keep end-state checks null-safe
- skip distributed state map write only when the entry is already missing
- Added regression test `testUpdateTaskStateWhenStateEntryMissing` in
`TaskTest`
- removes task state entry from map
- triggers FAILING -> FAILED transition
- verifies task state reaches terminal status and future completes
## Validation
- `mvn spotless:apply`
- `mvn test -pl seatunnel-engine/seatunnel-engine-server
-Dtest=org.apache.seatunnel.engine.server.dag.TaskTest#testUpdateTaskStateWhenStateEntryMissing
-nsu`
## Context
This is the upstream submission of the review fix discussed in WhaleOps PR
#2353 (comment from zhangshenghang).
--
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]