Interesting! So a workaround would be to just switch back to http1? That would totally be an acceptable solution for us. I guess the http1 transport won't disappear any time soon?
Finding the real root cause would be nice too, of course :) Henrik On Wed, May 25, 2022, 18:39 Tomás Fernández Löbbe <tomasflo...@gmail.com> wrote: > I have seen the same exception raised with search requests too. Not related > to traffic, since I've seen it in very low query rate cases. Also, not > related to resource utilization, since I've seen it in very under-utilized > clusters. An interesting part of the error is this: > > > MultiplexConnectionPool@310bfd62 > [c=0/4/4,a=0,i=0,q=3000] > > This is the toString() of the MultiplexConnectionPool[1]: > > public String toString() > { > return String.format("%s@%x[c=%d/%d/%d,a=%d,i=%d,q=%d]", > getClass().getSimpleName(), > hashCode(), > getPendingConnectionCount(), > getConnectionCount(), > getMaxConnectionCount(), > getActiveConnectionCount(), > getIdleConnectionCount(), > destination.getQueuedRequestCount()); > } > > Meaning, there are 0 pending connections, 4 connections out of a max of 4, > but then 0 active, and 0 idle. I don't know what state the other > connections are in. I didn't have time to dive into this further, so I > ended up switching back to http1. I'm not sure if this is something we are > doing wrong in Solr or if it's a bug with the Jetty client. > > In my case, the client would not recover from this situation until it was > restarted. > > Tomás > > [1] > > https://github.com/eclipse/jetty.project/blob/d262ef0d62f65f5e0f5f61462617e1a4562ea566/jetty-client/src/main/java/org/eclipse/jetty/client/AbstractConnectionPool.java#L517-L528 > > On Mon, May 23, 2022 at 1:36 PM Jan Høydahl <jan....@cominvent.com> wrote: > > > Hi, > > > > I suspect that you have multiple shards, and that UPDATE requests in your > > cluster expereience errors, causing > > DistributedUpdateProcessor / ConcurrentUpdateHttp2SolrClient to auto > retry > > the request. > > According to > > > https://github.com/apache/solr/blob/main/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java#L89 > > < > > > https://github.com/apache/solr/blob/main/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java#L89 > > > > > > there may be up to 25 retries on forward to leader. > > > > I'm just guessing here, that for some reason the indexing operation just > > gets overloaded (perhaps due to low RAM or other factors) > > and errors then propell out of control due to retries? 1Gb is not a huge > > heap for heavy indexing. > > - How fast are you indexing? > > - Do you have any kind of indexing back-off/throttling strategy? > > > > Perhaps circuit breakers < > > > https://solr.apache.org/guide/solr/latest/deployment-guide/circuit-breakers.html > > > > and/or rate limiters < > > > https://solr.apache.org/guide/solr/latest/deployment-guide/rate-limiters.html > > > > could be considered to help throttle update requests? I have not tried > them > > myself.. Rate limiters may be a 9.0 only feature. > > > > Jan > > > > > > > 23. mai 2022 kl. 13:40 skrev Henrik Brautaset Aronsen < > > henrik.aron...@gmail.com>: > > > > > > Thanks! > > > > > > I'll try doubling the JVM memory and see what happens. The dev > instances > > > only had "-Xms1024M -Xmx1024M -Xss256k" set. > > > > > > Cheers, > > > Henrik > > > > > > On Mon, May 23, 2022 at 9:56 AM Deepak Goel <deic...@gmail.com> wrote: > > > > > >> Looks like the memory is getting maxed out. However there must be some > > way > > >> to monitor the dev environment and confirm the same (something like a > > top > > >> command). > > >> > > >> Deepak > > >> "The greatness of a nation can be judged by the way its animals are > > >> treated - Mahatma Gandhi" > > >> > > >> +91 73500 12833 > > >> deic...@gmail.com > > >> > > >> Facebook: https://www.facebook.com/deicool > > >> LinkedIn: www.linkedin.com/in/deicool > > >> > > >> "Plant a Tree, Go Green" > > >> > > >> Make In India : http://www.makeinindia.com/home > > >> > > >> > > >> On Mon, May 23, 2022 at 1:20 PM Henrik Brautaset Aronsen < > > >> henrik.aron...@gmail.com> wrote: > > >> > > >>> Hi Deepak, thanks for reaching out! > > >>> > > >>> Prod has 8 servers with 8x Xeon CPU @ 2.00GHz and 64GB RAM > > >>> Dev has 2 servers with 2x Xeon CPU @ 2.00GHz and 16GB RAM > > >>> > > >>> Is there a way to monitor the MultiplexConnectionPool? > > >>> > > >>> And is it CPU or RAM that is maxed out, you think? > > >>> > > >>> I really appreciate any input :) > > >>> > > >>> Cheers, > > >>> Henrik > > >>> > > >>> On Mon, May 16, 2022 at 10:41 AM Deepak Goel <deic...@gmail.com> > > wrote: > > >>> > > >>>> Looks like *MultiplexConnectionPool *is getting maxed out. > > >>>> > > >>>> Could you please tell us the server configuration of dev and prod? > > Looks > > >>>> like the dev environment is getting maxed out. > > >>>> > > >>>> Deepak > > >>>> "The greatness of a nation can be judged by the way its animals are > > >>>> treated > > >>>> - Mahatma Gandhi" > > >>>> > > >>>> +91 73500 12833 > > >>>> deic...@gmail.com > > >>>> > > >>>> Facebook: https://www.facebook.com/deicool > > >>>> LinkedIn: www.linkedin.com/in/deicool > > >>>> > > >>>> "Plant a Tree, Go Green" > > >>>> > > >>>> Make In India : http://www.makeinindia.com/home > > >>>> > > >>>> > > >>>> On Mon, May 16, 2022 at 12:53 PM Henrik Brautaset Aronsen < > > >>>> henrik.aron...@gmail.com> wrote: > > >>>> > > >>>>> Hi. > > >>>>> > > >>>>> We keep getting "SolrServerException: Max requests queued per > > >>>> destination > > >>>>> 3000 exceeded for HttpDestination" for several different > collections > > >>>> and > > >>>>> instances in our SolrCloud dev environment. The instances don't > reply > > >>>> to > > >>>>> requests and need to be restarted to function again. > > >>>>> > > >>>>> We're not getting those errors in the prod environment even though > > >>>> those > > >>>>> are set up similarly. > > >>>>> > > >>>>> Any ideas what could cause this? > > >>>>> > > >>>>> We're on Solr 8.11.1 with connTimeout=60000, socketTimeout=60000, > > >>>>> zkClientTimeout=30000, solr.jetty.http.idleTimeout=60000. Full > > >>>> stacktrace > > >>>>> below. Thanks for any help! > > >>>>> > > >>>>> Cheers, > > >>>>> Henrik > > >>>>> > > >>>>> java.util.concurrent.RejectedExecutionException: Max requests > queued > > >>>> per > > >>>>> destination 3000 exceeded for > > >>>>> HttpDestination[http://dev-foo3672.bar.no:12621 > > >>>>> ]@74097d87,queue=3000,pool=MultiplexConnectionPool@310bfd62 > > >>>>> [c=0/4/4,a=0,i=0,q=3000] > > >>>>> at > > >>>> > > org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:289) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at > > >>>> > > org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:262) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:600) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at > > >>>> org.eclipse.jetty.client.HttpRequest.sendAsync(HttpRequest.java:778) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:765) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:409) > > >>>>> ~[solr-solrj-8.11.1.jar:8.11.1 > > >>>> 0b002b11819df70783e83ef36b42ed1223c14b50 - > > >>>>> janhoy - 2021-12-14 13:50:57] > > >>>>> at org.apache.solr.client.solrj.SolrServerException: Max requests > > >>>> queued > > >>>>> per destination 3000 exceeded for > > >>>>> HttpDestination[http://dev-foo3672.bar.no:12621 > > >>>>> ]@74097d87,queue=3000,pool=MultiplexConnectionPool@310bfd62 > > >>>>> [c=0/4/4,a=0,i=0,q=3000] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:439) > > >>>>> ~[solr-solrj-8.11.1.jar:8.11.1 > > >>>> 0b002b11819df70783e83ef36b42ed1223c14b50 - > > >>>>> janhoy - 2021-12-14 13:50:57] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:776) > > >>>>> ~[solr-solrj-8.11.1.jar:8.11.1 > > >>>> 0b002b11819df70783e83ef36b42ed1223c14b50 - > > >>>>> janhoy - 2021-12-14 13:50:57] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.client.solrj.impl.ConcurrentUpdateHttp2SolrClient.request(ConcurrentUpdateHttp2SolrClient.java:370) > > >>>>> ~[solr-solrj-8.11.1.jar:8.11.1 > > >>>> 0b002b11819df70783e83ef36b42ed1223c14b50 - > > >>>>> janhoy - 2021-12-14 13:50:57] > > >>>>> at > > >>>> > org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1290) > > >>>>> ~[solr-solrj-8.11.1.jar:8.11.1 > > >>>> 0b002b11819df70783e83ef36b42ed1223c14b50 - > > >>>>> janhoy - 2021-12-14 13:50:57] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.update.SolrCmdDistributor.doRequest(SolrCmdDistributor.java:345) > > >>>>> ~[solr-core-8.11.1.jar:8.11.1 > > 0b002b11819df70783e83ef36b42ed1223c14b50 > > >>>> - > > >>>>> janhoy - 2021-12-14 13:50:55] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.update.SolrCmdDistributor.lambda$submit$0(SolrCmdDistributor.java:334) > > >>>>> ~[solr-core-8.11.1.jar:8.11.1 > > 0b002b11819df70783e83ef36b42ed1223c14b50 > > >>>> - > > >>>>> janhoy - 2021-12-14 13:50:55] > > >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > > >>>>> at > > >>>> > > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) > > >>>>> ~[?:?] > > >>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:180) > > >>>>> ~[metrics-core-4.1.5.jar:4.1.5] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:218) > > >>>>> ~[solr-solrj-8.11.1.jar:8.11.1 > > >>>> 0b002b11819df70783e83ef36b42ed1223c14b50 - > > >>>>> janhoy - 2021-12-14 13:50:57] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > > >>>>> [?:?] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > > >>>>> [?:?] > > >>>>> at java.lang.Thread.run(Thread.java:833) [?:?] Caused by: > > >>>>> java.util.concurrent.RejectedExecutionException: Max requests > queued > > >>>> per > > >>>>> destination 3000 exceeded for > > >>>>> HttpDestination[http://dev-foo3672.bar.no:12621 > > >>>>> ]@74097d87,queue=3000,pool=MultiplexConnectionPool@310bfd62 > > >>>>> [c=0/4/4,a=0,i=0,q=3000] > > >>>>> at > > >>>> > > org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:289) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at > > >>>> > > org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:262) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:600) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at > > >>>> org.eclipse.jetty.client.HttpRequest.sendAsync(HttpRequest.java:778) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:765) > > >>>>> ~[jetty-client-9.4.44.v20210927.jar:9.4.44.v20210927] > > >>>>> at > > >>>>> > > >>>>> > > >>>> > > > org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:409) > > >>>>> ~[solr-solrj-8.11.1.jar:8.11.1 > > >>>> 0b002b11819df70783e83ef36b42ed1223c14b50 - > > >>>>> janhoy - 2021-12-14 13:50:57] > > >>>>> > > >>>> > > >>> > > > > >