abdessalems commented on PR #11727:
URL: https://github.com/apache/seatunnel/pull/11727#issuecomment-5601437642
@SEZ9 — summary of where each of your findings stands on the current head
(e66911c0c). Credit where it's due: most of this landed in @davidzollo's
commit,
not mine.
- F2: BlockingWorker now resolves its context and class loader from the
tracker's ownedContext rather than the shared map.
- F4: the stale branch now cancels its own async-function and timer-flush
entries. They're tagged with the owning context (new OwnedFuture wrapper),
so
cancelOwnedAsyncFunctionsInPlace / cancelOwnedTimerFlushTasksInPlace touch
only this generation's entries and leave a newer generation's strictly
alone.
- F6: the TaskExecutionService.this monitor now covers only the map/future
bookkeeping. recycleClassLoader and all cancellations run after it's
released.
- F8: the redundant get before remove(key, value) is gone.
finishedExecutionContexts
is populated on the owned branch; the stale branch deliberately doesn't
record
it, which @DanielLeens confirmed as the intended semantics given key reuse.
- Your Issue 2: cancellationFutures.remove(location,
ownedCancellationFuture) —
self-guarding rather than invariant-dependent, as you suggested.
- F7: added testStaleTaskDoneCancelsItsOwnAsyncAndTimerFutures and
testDeployTaskIdempotentWhenAlreadyRunning as deterministic coverage,
rather
than extending the stochastic race test.
- F1/F3/F5 (deployLocalTask publish/rollback and the guarded install): not in
this PR — @DanielLeens filed those as #12164 since it's pre-existing
baseline
code shared with #11757, so it isn't fixed twice.
- CooperativeTaskWorker: filed as #12224, deferred with @DanielLeens's
agreement
(non-default thread-share mode only).
Ready for your re-review whenever you have time.
--
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]