1
votes

I'm using the HTTP2 Sampler by Blazemeter, which officially provided by JMeter Plugin Manager.

At their repo, there are some steps to be made: https://github.com/Blazemeter/jmeter-http2-plugin

I applied everyone of that required steps on my mac (I also paid attention to the Mac-specific details). After successfully integrating it, I tried to make a HTTP2 Call to my local HTTP2 REST Service. After trying that, it stays on the loop and nothing happens. No error, no warning, just the timeout error after I stop the request.

Here is my sampler result:

Thread Name:Thread Group 1-1
Sample Start:2020-07-30 20:03:53 CEST
Load time:0
Connect Time:110
Latency:0
Size in bytes:928
Sent bytes:0
Headers size in bytes:0
Body size in bytes:928
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:java.util.concurrent.TimeoutException
Response message:null


HTTP2SampleResult fields:
ContentType: 
DataEncoding: ISO-8859-1

Here is the response after stopping the request:

java.util.concurrent.TimeoutException
    at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1957)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2092)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.awaitResponses(HTTP2Connection.java:171)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:221)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:145)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Request.sample(HTTP2Request.java:121)
    at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
    at java.base/java.lang.Thread.run(Thread.java:830)

I tried nearly everything out and also got to this Stackoverflow question regarding to jetty incompatibilities of the newer version.

HTTP1 requests still work, but the HTTP2 requests are reaching the server, but never handle anything. I tested also some public HTTP2 sites which also couldn't be reached by JMeter. In addition to that, a simple HTTP2 Request via Curl worked. So there is no problem with my server. There is definently something wrong with the HTTP2 JMeter plugin and I have no idea why.

Pls hlp ._.

1
can you provide a reproducer in github and don't forget to put your jmeter test scenario there too, I like to run the test in my local :)özkan pakdil

1 Answers

0
votes

Try to increase HEAP size to not less than 5Gb and set-up time-out in HTTP2 Request Manager. After all above were done, my exception was gone.