DanielLeens commented on PR #12043:
URL: https://github.com/apache/seatunnel/pull/12043#issuecomment-6138859246
Addressed both remaining review blockers in `a81d807f13a`:
1. **Stored checkpoint completion vs. ordinary restore**
- Narrowed the post-storage discard guard to the actual terminal
conditions for the captured lifecycle (`completionFuture.isDone()` or
coordinator shutdown).
- A mere `checkpointCoordinatorFuture` replacement by
`restoreCoordinator()` no longer suppresses `latestCompletedCheckpoint`,
monitoring, or `notifyCompleted`.
- Added an INFO diagnostic when a durably stored checkpoint is
intentionally discarded because that lifecycle already ended.
- Added `restoreDuringCheckpointStorageStillPublishesCompletion`, which
blocks storage, performs an ordinary restore (and proves the future was
replaced), then verifies task completion notification and the final SUSPEND
state.
2. **Fail-fast status-write race**
- `failRestoreProgressIfCurrent` now calls
`checkpointCoordinatorFuture.complete(FAILED)` first and mutates the stall
flags / error field / persisted IMap status only when that completion wins.
- Added `losingFailFastRaceDoesNotPersistFailedStatus`, which forces
`complete(...)` to lose and verifies the persisted status remains RUNNING and
tracking state is untouched.
Validation performed (per the task's local-execution restriction):
module-scoped `spotless:apply`, `spotless:check`, and `git diff --check` all
passed. I did not run local compilation or tests. The previous failed fork jobs
were both the unrelated
`BackpressureSlowSinkIT#testCheckpointsKeepCompletingUnderSustainedBackpressure`
failure already associated with #12316/#12313; the new head should now receive
a fresh CI run.
--
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]