[
https://issues.apache.org/jira/browse/SOLR-7344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14586314#comment-14586314
]
Hrishikesh Gadre commented on SOLR-7344:
----------------------------------------
The current implementation of distributed querying is to block the thread
handling top-level request until all the sub requests are complete. Have we
thought about using fork-join framework (along with servlet 3 api) for this? At
high-level, the idea would be to start an async servlet context and submit a
scatter-gather task to an internal thread-pool (defined in
HttpShardHandlerFactory). The "gather" phase would merge the results and reply
back to the client (i.e. it will complete the async request). Because the
"gather" phase is executed after all the sub-requests are complete (either
success/failure), it will not occupy the thread for while the sub-requests are
in progress. I think this will ensure to avoid the deadlock scenarios as well.
If distributed querying is the main cause of deadlocks, I wonder if this will
fix the problem more directly?
> Allow Jetty thread pool limits while still avoiding distributed deadlock.
> -------------------------------------------------------------------------
>
> Key: SOLR-7344
> URL: https://issues.apache.org/jira/browse/SOLR-7344
> Project: Solr
> Issue Type: Improvement
> Components: SolrCloud
> Reporter: Mark Miller
> Attachments: SOLR-7344.patch
>
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]