Vivek1106-04 commented on PR #12623:
URL: https://github.com/apache/seatunnel/pull/12623#issuecomment-5988324536
@SEZ9 thanks for the careful review. Updated in f24ed531e.
**Issue 1 (restore thread still restarts the pipeline):** agreed, on this
base alone the restore thread still releases/re-applies slots and walks the
pipeline to `RUNNING` before the blocked callback ends it. The post-sleep
`isNeedRestore()` re-check that prevents this is in #12511 (`abandonRestore` in
`SubPlan.stateProcess()`), so I'd rather not duplicate it here and conflict
with that PR. This PR should merge after #12511; the end-to-end case (force
stop during the restore wait, job ends instead of staying in `DOING_SAVEPOINT`)
is asserted there by
`SavePointTest#testSavePointFailureDuringPipelineRestoreWaitEndsTheJob`. On
this base alone the job now ends after the extra round-trip rather than staying
stuck, so the change is still an improvement by itself. I'll correct the
"independent" wording in the PR description.
**Issue 2 (test coverage):** added
`testForceStopCompletesTheFutureOfATaskResetForRestore` (FAILED via
`updateStateByExecutionService`, `reset()`, then `forceStop()`), and both
force-stop tests now assert `isRunning` is false after the future completes.
The pipeline-level restore-wait case is the #12511 test above.
**Issue 3 (Javadoc / `isRunning` leak):** reworded the Javadoc to describe
the blocking cancel round-trip to the worker and that the future completes only
while the state is still tracked. `forceStop()` now calls
`stopPhysicalVertex()` again if it started the state process and the future is
still not done. New
`testForceStopLeavesTheStateProcessStoppedWhenTheTransitionIsSkipped` covers it
(it fails without the guard).
**Issue 4:** switched to `{@link SubPlan}`.
On CI: the previous Build failures were `BackpressureSlowSinkIT` (#12313),
`RocketMqIT` (#12383), `PostgresCDCIT` (#12382) and `DatabendCDCSinkIT` (JDK 11
leg). None of them goes through `forceStop()`. The push triggered a fresh 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]