Closed dpeddaswamy closed 8 months ago
Hi @dpeddaswamy
I think the problem seems to be that the server sends a GOAWAY message and disconnect the http client. It's something we don't fully support yet, but we added some handling in version 2.0.3. GOAWAY support requires different connection handling and requires disconnection and reconnection logic.
I recommend using version 2.0.5 which has several fixes to problems released in version 2.0.3/2.0.4.
Try using that version and let us know if it handles the issue better.
There is a problem with how Jetty releases those connections in the GOAWAY state, which can be solved alternatively by incorporating a short time into the idle timeout.
Hi David, Issue resolved after updating v2. 0.5
Thank you for your support..
On Tue, 17 Oct, 2023, 11:10 pm David, @.***> wrote:
Hi @dpeddaswamy https://github.com/dpeddaswamy
I think the problem seems to be that the server sends a GOAWAY message and disconnect the http client. It's something we don't fully support yet, but we added some handling in version 2.0.3. GOAWAY support requires different connection handling and requires disconnection and reconnection logic.
I recommend using version 2.0.5 which has several fixes to problems released in version 2.0.3/2.0.4.
Try using that version and let us know if it handles the issue better.
There is a problem with how Jetty releases those connections in the GOAWAY state, which can be solved alternatively by incorporating a short time into the idle timeout.
— Reply to this email directly, view it on GitHub https://github.com/Blazemeter/jmeter-http2-plugin/issues/65#issuecomment-1766876653, or unsubscribe https://github.com/notifications/unsubscribe-auth/A5US7GXLWGJ6CLYHHIRGBZLX727HHAVCNFSM6AAAAAA6DGPRZSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRWHA3TMNRVGM . You are receiving this because you were mentioned.Message ID: @.***>
Thanks @dpeddaswamy for letting us know. I close this issue. Any other issue do not hesitate to create a new one.
Regards.
Hi Team, During load test execution of Micro services with h2 protocol, getting below error message. Could you please help in resolving the issue. Jmeter version: 5.5 with Normal Thread group and Blazemeter http/2 plugin in version: 2.0.2.
Non HTTP response code: java.util.concurrent.ExecutionException/Non HTTP response message: java.nio.channels.AsynchronousCloseException
Below is the response body received. java.util.concurrent.ExecutionException: java.nio.channels.AsynchronousCloseException at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:113) at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:96) at com.blazemeter.jmeter.http2.core.HTTP2JettyClient.send(HTTP2JettyClient.java:238) at com.blazemeter.jmeter.http2.core.HTTP2JettyClient.sample(HTTP2JettyClient.java:210) at com.blazemeter.jmeter.http2.sampler.HTTP2Sampler.sample(HTTP2Sampler.java:60) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1301) at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1290) at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:651) at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:570) at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:501) at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:268) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.nio.channels.AsynchronousCloseException at org.eclipse.jetty.http2.client.http.HttpConnectionOverHTTP2.close(HttpConnectionOverHTTP2.java:199) at org.eclipse.jetty.http2.client.http.HTTPSessionListenerPromise.onClose(HTTPSessionListenerPromise.java:96) at org.eclipse.jetty.http2.client.http.HTTPSessionListenerPromise.onClose(HTTPSessionListenerPromise.java:91) at org.eclipse.jetty.http2.api.Session$Listener.onClose(Session.java:260) at org.eclipse.jetty.http2.HTTP2Session.notifyClose(HTTP2Session.java:1153) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.terminate(HTTP2Session.java:2091) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.lambda$sendGoAwayAndTerminate$16(HTTP2Session.java:2001) at org.eclipse.jetty.util.Callback$6.completed(Callback.java:223) at org.eclipse.jetty.util.Callback$Nested.succeeded(Callback.java:396) at org.eclipse.jetty.util.Callback$Nested.succeeded(Callback.java:392) at org.eclipse.jetty.http2.HTTP2Session$ControlEntry.succeeded(HTTP2Session.java:1334) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.eclipse.jetty.http2.HTTP2Flusher.finish(HTTP2Flusher.java:323) at org.eclipse.jetty.http2.HTTP2Flusher.succeeded(HTTP2Flusher.java:315) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:291) at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:254) at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:386) at org.eclipse.jetty.http2.HTTP2Flusher.process(HTTP2Flusher.java:292) at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232) at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214) at org.eclipse.jetty.http2.HTTP2Session.frame(HTTP2Session.java:777) at org.eclipse.jetty.http2.HTTP2Session.frames(HTTP2Session.java:749) at org.eclipse.jetty.http2.HTTP2Session.control(HTTP2Session.java:731) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAway(HTTP2Session.java:2006) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.sendGoAwayAndTerminate(HTTP2Session.java:2001) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.lambda$onGoAway$4(HTTP2Session.java:1717) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.tryRunZeroStreamsAction(HTTP2Session.java:2080) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.onStreamDestroyed(HTTP2Session.java:2021) at org.eclipse.jetty.http2.HTTP2Session.onStreamDestroyed(HTTP2Session.java:1050) at org.eclipse.jetty.http2.HTTP2Session.removeStream(HTTP2Session.java:888) at org.eclipse.jetty.http2.HTTP2Stream.processData(HTTP2Stream.java:530) at org.eclipse.jetty.http2.HTTP2Stream.onData(HTTP2Stream.java:489) at org.eclipse.jetty.http2.HTTP2Stream.process(HTTP2Stream.java:377) at org.eclipse.jetty.http2.HTTP2Session.onData(HTTP2Session.java:262) at org.eclipse.jetty.http2.HTTP2Connection$ParserListener.onData(HTTP2Connection.java:407) at org.eclipse.jetty.http2.parser.BodyParser.notifyData(BodyParser.java:103) at org.eclipse.jetty.http2.parser.DataBodyParser.onData(DataBodyParser.java:145) at org.eclipse.jetty.http2.parser.DataBodyParser.emptyBody(DataBodyParser.java:55) at org.eclipse.jetty.http2.parser.Parser.parseBody(Parser.java:189) 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:446) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:239) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:190) 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.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:558) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:379) at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:146) 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.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:412) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:381) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:268) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:138) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:407) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038) ... 1 more