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]
