javanna opened a new pull request, #12569:
URL: https://github.com/apache/lucene/pull/12569

   Concurrent search is currently applied once per search call, either when 
search is called, or when concurrent query rewrite happens. They generally 
don't happen within one another. There are situations in which we are going to 
introduce parallelism in places where there could be multiple inner levels of 
parallelism requested as each task could try to parallelize further. In these 
cases, with certain executor implementations, like ThreadPoolExecutor, we may 
deadlock as we are waiting for all tasks to complete but they are waiting for 
threads to free up to complete their execution.
   
   This commit introduces a simple safeguard that makes sure that we only 
parallelize via the executor at the top-level invokeAll call. When each task 
tries to parallelize further, we just execute them directly instead of 
submitting them to the executor.


-- 
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: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to