[
https://issues.apache.org/jira/browse/SOLR-7344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509714#comment-14509714
]
Hrishikesh Gadre commented on SOLR-7344:
----------------------------------------
[[email protected]] Currently we use thread-per-request model (especially for
queries). To implement your proposal, I think we would need to move away from
it (e.g. based on servlet 3 spec). Otherwise it would be wasteful of resources.
e.g. lets assume we define 2 thread-pools internally. Now when we get a request
(internal or external), we would submit a task in one of the queues. But still
we will have to wait for the result to come back so that we can reply to the
client. This means there is still a chance for distributed deadlocks. (Note
Datastax Search uses async model
http://www.datastax.com/dev/blog/robust-and-scalable-distributed-queries).
On the other hand, having two different endpoints backed by dedicated
thread-pools won't have this issue. Also the amount of code change is minimal.
If you look at my patch, no changes are required in any part of the server side
functionality.
Any thoughts?
> Use two thread pools, one for internal requests and one for external, to
> avoid distributed deadlock and decrease the number of threads that need to be
> created.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> 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]