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]

Reply via email to