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]

Reply via email to