Rangsh commented on PR #12218:
URL: https://github.com/apache/seatunnel/pull/12218#issuecomment-5602080517
@DanielLeens Thanks for the thorough review — especially the
partial-submission analysis in Issue 1. That gap was real, and I’ve addressed
it in the follow-up commit (`258a779`).
Changes:
1. Hoisted `executionTracker` out of the `try` block so post-publish failure
can best-effort abort already submitted / enqueued work before bookkeeping is
removed
2. Updated `submitBlockingTask` to record each `Future` as it is submitted,
so a mid-batch `RejectedExecutionException` still leaves earlier workers
reachable for cancellation
3. On rollback: abort the tracker, remove matching entries from
`threadShareTaskQueue`, release classloader references owned by the published
context, then clear `executionContexts` / `cancellationFutures`
4. Added `testDeployLocalTaskRollsBackAfterPartialBlockingSubmitRejection`,
which injects a real `RejectedExecutionException` from `submitBlockingTask`
after partial submission (mixed thread-share + blocking under `PART` mode), and
asserts:
- no leaked active context / cancellation future
- no residual cooperative-queue trackers
- orphaned tasks stop running
- classloader references are released
- a later deploy of the same `TaskGroupLocation` actually executes
`TaskExecutionServiceTest`: `Tests run: 17, Failures: 0, Errors: 0, Skipped:
0`
Please take another look when you have time. Thanks again!
--
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]