abdessalems commented on PR #11727:
URL: https://github.com/apache/seatunnel/pull/11727#issuecomment-5691955264

   @SEZ9 — all three, checked against the diff rather than from memory:
   
   1. F2 — confirmed. TaskExecutionService.java:1294:
   
          ClassLoader taskClassLoader =
                  
taskGroupExecutionTracker.context.getClassLoaders().get(t.getTaskID());
   
      That field is @NonNull and pinned in the tracker's constructor, so a 
reused
      TaskGroupLocation cannot hand this worker another generation's loader. The
      shared-map lookup that used to sit before the try block is gone, and with 
it
      the null-context branch.
   
   2. F7 (reflection) — I couldn't find a non-reflective seam that still races 
the
      deployment: the map is private, and the public surface (deployTask,
      cancelTaskGroup) only removes an entry as part of tearing the task group 
down,
      which would stop the deploy rather than race it. A package-private 
accessor
      would widen the production API for test-only visibility, which is what you
      ruled against earlier. So I've kept the reflection and added a Javadoc on
      executionContextsOf() explaining exactly that — pushed in 2dc214681.
   
   3. F4 / F6 / F8 — not touched by this diff. grep over the diff gives zero
      occurrences of finishExecutionContext, finishOwnedResources,
      synchronized (TaskExecutionService.this) and 
cancelOwnedAsyncFunctionsInPlace.
      The whole diff is three hunks: one import removal, and two inside
      BlockingWorker.run(). So those belong with F1/F3/F5 against dev.
   


-- 
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