ctubbsii opened a new issue, #2696:
URL: https://github.com/apache/accumulo/issues/2696

   Gatherer creates a future, then calls `thenRun` to create a new 
CompletableStage that is then ignored, because the Runnable inside is calling a 
synchronized method to update the future, which then checks to see if it's done 
without error (which it always is in this case), which in turn calls the 
instantiateFuture method, which replaces the future, which does this all over 
again. It's like recursion, but with asynchronous executors and synchronous 
blocks to ensure the result of the previous future stage is done.
   
   I'm not an expert on CompletableFuture workflows, but this seems like a mess 
to me and I'm pretty sure this could be cleaned up quite a bit, with some 
better uses of the CompletableStages.


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