[ 
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]

Reply via email to