Blazemeter / jmeter-http2-plugin

HTTP2 plugin for Apache JMeter
Apache License 2.0
46 stars 27 forks source link

HTTP2 Sampler with "Retrieve All Embedded Resources" #34

Open CG-jpoon opened 2 years ago

CG-jpoon commented 2 years ago

Hi, I'm using HTTP2 Sampler with "Retrieve All Embedded Resources" enabled. The URL being tested contains references to resource that is hosted on both local (same domain) and remote (different domain). The results came back with all remote resource URLs failed with below error, local resource URLs are fine. Thanks in advance.

java.util.concurrent.ExecutionException: org.eclipse.jetty.http.BadMessageException: 500: null
    at org.eclipse.jetty.client.util.FutureResponseListener.getResult(FutureResponseListener.java:113)
    at org.eclipse.jetty.client.util.FutureResponseListener.get(FutureResponseListener.java:96)
    at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:770)
    at com.blazemeter.jmeter.http2.core.HTTP2JettyClient.sample(HTTP2JettyClient.java:150)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Sampler.sample(HTTP2Sampler.java:57)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.downloadPageResources(HTTPSamplerBase.java:1432)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.resultProcessing(HTTPSamplerBase.java:1787)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Sampler.resultProcessing(HTTP2Sampler.java:105)
    at com.blazemeter.jmeter.http2.core.HTTP2JettyClient.sample(HTTP2JettyClient.java:160)
    at com.blazemeter.jmeter.http2.sampler.HTTP2Sampler.sample(HTTP2Sampler.java:57)
    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:834)
Caused by: org.eclipse.jetty.http.BadMessageException: 500: null
    at org.eclipse.jetty.http.HttpGenerator.generateRequest(HttpGenerator.java:248)
    at org.eclipse.jetty.client.http.HttpSenderOverHTTP$HeadersCallback.process(HttpSenderOverHTTP.java:164)
    at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
    at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
    at org.eclipse.jetty.client.http.HttpSenderOverHTTP.sendHeaders(HttpSenderOverHTTP.java:79)
    at org.eclipse.jetty.client.HttpSender$ContentConsumer.onContent(HttpSender.java:477)
    at org.eclipse.jetty.client.util.AbstractRequestContent$AbstractSubscription.notifyContent(AbstractRequestContent.java:207)
    at org.eclipse.jetty.client.util.AbstractRequestContent$AbstractSubscription.processContent(AbstractRequestContent.java:181)
    at org.eclipse.jetty.client.util.BytesRequestContent$SubscriptionImpl.produceContent(BytesRequestContent.java:83)
    at org.eclipse.jetty.client.util.AbstractRequestContent$AbstractSubscription.produce(AbstractRequestContent.java:117)
    at org.eclipse.jetty.client.util.AbstractRequestContent$AbstractSubscription.demand(AbstractRequestContent.java:93)
    at org.eclipse.jetty.client.HttpSender.demand(HttpSender.java:236)
    at org.eclipse.jetty.client.HttpSender.send(HttpSender.java:82)
    at org.eclipse.jetty.client.http.HttpChannelOverHTTP.send(HttpChannelOverHTTP.java:79)
    at org.eclipse.jetty.client.HttpChannel.send(HttpChannel.java:122)
    at org.eclipse.jetty.client.HttpConnection.send(HttpConnection.java:110)
    at org.eclipse.jetty.client.http.HttpConnectionOverHTTP$Delegate.send(HttpConnectionOverHTTP.java:292)
    at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.send(HttpConnectionOverHTTP.java:146)
    at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:382)
    at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:358)
    at org.eclipse.jetty.client.HttpDestination.process(HttpDestination.java:313)
    at org.eclipse.jetty.client.HttpDestination.send(HttpDestination.java:296)
    at org.eclipse.jetty.client.HttpDestination.succeeded(HttpDestination.java:231)
    at org.eclipse.jetty.client.AbstractConnectionPool.proceed(AbstractConnectionPool.java:300)
    at org.eclipse.jetty.client.AbstractConnectionPool$FutureConnection.succeeded(AbstractConnectionPool.java:510)
    at org.eclipse.jetty.client.AbstractConnectionPool$FutureConnection.succeeded(AbstractConnectionPool.java:488)
    at org.eclipse.jetty.util.Promise$Wrapper.succeeded(Promise.java:152)
    at org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onOpen(HttpConnectionOverHTTP.java:154)
    at org.eclipse.jetty.io.ssl.SslConnection.onOpen(SslConnection.java:349)
    at org.eclipse.jetty.io.SelectorManager.connectionOpened(SelectorManager.java:307)
    at org.eclipse.jetty.io.ClientConnector$ClientSelectorManager.connectionOpened(ClientConnector.java:337)
    at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:400)
    at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:1064)
    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
Caused by: java.lang.NullPointerException

Windows :10 x64 JDK :"11.0.15" Jmeter :5.5 jmeter-http2-plugin v2.0

RicardoPoleo commented 1 year ago

Hello @CG-jpoon,

Hope you are doing great.

We make some improvements regarding the memory usage, buffer capacity and overall stability of the plugin in the latest releases. With that in mind, did you try the v2.0.2 version? And, if that's the case, does this error still occurs?

Thanks for taking the time to report this issue,

Hope to hear from you soon,

cicho37 commented 1 year ago

i have the same problem with the last version, in which way can i change di buffer?

3dgiordano commented 1 year ago

Hi @cicho37

We are currently working on a new version, 2.0.3 which is in alpha.3.

In that version we re-implemented the "Retrieve All Embedded Resources" logic. Could you try 2.0.3.alpha.3 and report any problems the new version might have?

https://github.com/Blazemeter/jmeter-http2-plugin/releases/tag/v2.0.3-alpha.3