I knew about SOLR-7433, but I’m really surprised that 200 incoming requests can 
need 4000 threads.

We have four shards.

Why is there a thread per shard? HTTP can be done async: send1, send2, send3, 
send4, recv1 recv2, recv3, recv4. I’ve been doing that for over a decade with 
HTTPClient.

wunder
Walter Underwood
wun...@wunderwood.org
http://observer.wunderwood.org/  (my blog)


> On Nov 29, 2017, at 8:38 AM, Toke Eskildsen <t...@kb.dk> wrote:
> 
> Walter Underwood <wun...@wunderwood.org> wrote:
>> I set this in jetty.xml, but it still created 4000 threads.
>> 
>>  <Get name="ThreadPool">
>>    <Set name="minThreads" type="int">
>> <Property name="solr.jetty.threads.min" default="200"/></Set>
>>   <Set name="maxThreads" type="int">
>> <Property name="solr.jetty.threads.max" default="200"/></Set>
> 
> That sets a limit on the number of threads started by Jetty to handle 
> incoming connections, but does not affect how many threads Solr can create. I 
> guess you have ~20 shards in your cloud?
> 
> The issue of the default 10K limit is an old one: 
> https://issues.apache.org/jira/browse/SOLR-7344
> 
> I suggest you put a proxy in from of your Solr-cloud to handle queueing of 
> incoming requests.
> 
> - Toke Eskildsen

Reply via email to