gianm opened a new pull request, #17046:
URL: https://github.com/apache/druid/pull/17046

   Four changes:
   
   1) FrameProcessorExecutor now requires that cancellationIds be registered
      with "registerCancellationId" prior to being used in "runFully" or 
"runAllFully".
   
   2) FrameProcessorExecutor gains an "asExecutor" method, which allows that
      executor to be used as an executor for future callbacks in such a way
      that respects cancellationId.
   
   3) RunWorkOrder gains a "stop" method, which cancels the current
      cancellationId and closes the current FrameContext. It blocks until
      both operations are complete.
   
   4) Fixes a bug in RunAllFullyWidget where "processorManager.result()" was
      called outside "runAllFullyLock", which could cause it to be called
      out-of-order with "cleanup()" in case of cancellation or other error.
   
   Together, these changes help ensure cancellation does not have races. Once 
"cancel" is called for a given cancellationId, all existing processors and 
running callbacks are canceled and exit in an orderly manner. Future processors 
and callbacks with the same cancellationId are rejected before being executed.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to