HoustonPutman commented on PR #3398: URL: https://github.com/apache/solr/pull/3398#issuecomment-3046165104
> tldr; HttpShardHandler ought to use ExecutorCompletionService. WDYT? So after looking into this a bit, it would save us a bit of overhead of adding responses to our queue. However there are a few issues: - `lbClient.requestAsync(lbReq)` returns a `Future` for us, so `ExecutorCompletionService.submit()` doesn't really fit our use case, since that is expecting a `Runnable` or `Callable` to be passed in and it will create and return its own `Future`. We would need to re-architect the clients a bit to support this, and I'm not even sure it could be done. - `ParallelHttpShardHandler` does submit its own things, but I'm not sure that the `ExecutorCompletionService` will buy us a whole lot here, as it still needs to fit into the response handling that `HttpShardHandler` uses. - There's no easy `cancelAll` logic that `ExecutorCompletionService.submit` can provide us, so we would still need to do that all ourselves. Overall `ExecutorCompletionService` looks like a nice little utility, that is just a bit too simple to be plug-and-play for the complexities that we have to support. -- 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]
