[
https://issues.apache.org/jira/browse/SOLR-7344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14509817#comment-14509817
]
Yonik Seeley commented on SOLR-7344:
------------------------------------
bq. Although a minor point - typically every endpoint is associated with a
thread-pool and an accept queue.
Right. And I think that's important. We probably don't want to return failures
unless the server is truly overloaded, otherwise some form of blocking is
desirable.
So we would have (for example):
- up to 16 sub-request threads executing at any one time.
- up to high-water-mark sub-requests blocking waiting for an execution slot
to open (what should this be.... hundreds? thousands?)
- after which point we return a 503 HTTP error
And the same thing (but different numbers perhaps) for top-level requests. I
guess that is one benefit to this approach... we would have the ability to
limit the number of top-level requests (w/o resorting to a 3rd port to deal
with the request forwarding issue).
But the lack of an accept queue (or basically, the lack of getting that
blocking behavior for free for sub-requests) is a downside... and it's not
clear how well blocking after the fact (up to the high-water-mark) will work in
practice.
> 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]