Tomas Eduardo Fernandez Lobbe created SOLR-16702: ----------------------------------------------------
Summary: JMH benchmarks can fail with http2 when using many threads Key: SOLR-16702 URL: https://issues.apache.org/jira/browse/SOLR-16702 Project: Solr Issue Type: Bug Security Level: Public (Default Security Level. Issues are Public) Reporter: Tomas Eduardo Fernandez Lobbe This can be reproduced, for example, running {{./jmh.sh search.FilterCache}} but increasing the number of threads, in my case, to 16. The same test passes OK when the client is set to use http1. See discussion [here|https://github.com/apache/solr/pull/1445] {noformat} org.apache.solr.client.solrj.SolrServerException: IOException occurred when talking to server at: null at org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:530) at org.apache.solr.bench.search.SimpleSearch.query(SimpleSearch.java:75) at org.apache.solr.bench.search.jmh_generated.SimpleSearch_query_jmhTest.query_thrpt_jmhStub(SimpleSearch_query_jmhTest.java:274) at org.apache.solr.bench.search.jmh_generated.SimpleSearch_query_jmhTest.query_Throughput(SimpleSearch_query_jmhTest.java:127) at jdk.internal.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:475) at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:458) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: java.io.IOException: cancel_stream_error at org.eclipse.jetty.http2.client.http.HttpReceiverOverHTTP2.onReset(HttpReceiverOverHTTP2.java:202) at org.eclipse.jetty.http2.client.http.HttpChannelOverHTTP2$Listener.onReset(HttpChannelOverHTTP2.java:206) at org.eclipse.jetty.http2.api.Stream$Listener.onReset(Stream.java:271) at org.eclipse.jetty.http2.HTTP2Stream.notifyReset(HTTP2Stream.java:853) at org.eclipse.jetty.http2.HTTP2Stream.onReset(HTTP2Stream.java:563) at org.eclipse.jetty.http2.HTTP2Stream.process(HTTP2Stream.java:392) at org.eclipse.jetty.http2.HTTP2Session.onReset(HTTP2Session.java:320) at org.eclipse.jetty.http2.parser.Parser$Listener$Wrapper.onReset(Parser.java:367) at org.eclipse.jetty.http2.parser.BodyParser.notifyReset(BodyParser.java:139) at org.eclipse.jetty.http2.parser.ResetBodyParser.onReset(ResetBodyParser.java:92) at org.eclipse.jetty.http2.parser.ResetBodyParser.parse(ResetBodyParser.java:61) at org.eclipse.jetty.http2.parser.Parser.parseBody(Parser.java:193) at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:122) at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:278) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produceTask(AdaptiveExecutionStrategy.java:450) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:243) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:194) at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:208) at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:155) at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:378) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.Invocable.invokeNonBlocking(Invocable.java:151) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.invokeAsNonBlocking(AdaptiveExecutionStrategy.java:433) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:375) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:194) at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:289) ... 3 more {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org