JMeter Firefox Driver Config unable to launch browser - jmeter

I am attempting to use JMeter's FireFox Driver config so that I can use a Web Driver Sampler to wait for a page to process an internal, automated OAuth process that redirects the page, but I am running into an issue with JMeter loading Firefox.
The only error that prints for it is Failed to connect binary FirefoxBinary but there is zero additional information that I understand.
What additional steps do I need to take that literally every single tutorial on how to use Firefox Driver Config in JMeter seems to not tell you?
org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/Applications/Firefox.app/Contents/MacOS/firefox-bin) on port 7055; process output follows:
":null,"translators":null,"contributors":null,"locales":["fa"]},{"name":"Wikipedia (or)","description":"ୱିକିପିଡ଼ିଆ (ଓଡ଼ିଆ)","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["or"]},{"name":"വിക്കിപീഡിയ (ml)","description":"വിക്കിപീഡിയ, സ്വതന്ത്ര സര്‍വ്വവിജ്ഞാനകോശം ","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ml"]},{"name":"Wikipedia (ia)","description":"Wikipedia, le encyclopedia libere","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ia"]},{"name":"Wikipedia (ms)","description":"Wikipedia, ensiklopedia bebas","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ms"]},{"name":"Wikipedia (no)","description":"Wikipedia, den frie encyklopedi","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["NO"]},{"name":"Википедия (ru)","description":"Википедия, свободная энциклопедия","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ru"]},{"name":"Wikipedia (br)","description":"Wikipedia, an holloueziadur digor","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["br"]},{"name":"Wikipedia (pl)","description":"Wikipedia, wolna encyklopedia","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["pl"]},{"name":"ວິກິພີເດຍ (lo)","description":"ວິກິພີເດຍ, ສາລານຸກົມເສລີ","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["lo"]},{"name":"Wikipedija (sl)","description":"Wikipedija, prosta enciklopedija","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["sl"]},{"name":"Vikipēdija","description":"Vikipēdija, brīvā enciklopēdija","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["lv"]},{"name":"Wikipedia (sv)","description":"Wikipedia, den fria encyklopedin","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["sv-SE"]},{"name":"Вікіпэдыя (be-tarask)","description":"Вікіпэдыя, вольная энцыкляпэдыя","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["be-tarask"]},{"name":"Biquipedia (an)","description":"A enciclopedia Libre","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["an"]}],"targetApplications":[{"id":"toolkit#mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":[],"origins":[]},"icons":{"16":"favicon.ico"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"resource://search-extensions/wikipedia/","location":"app-builtin"}
1565650376116 addons.xpi DEBUG Loading bootstrap scope from resource://search-extensions/wikipedia/
1565650376116 addons.xpi DEBUG Calling bootstrap method install on wikipedia#search.mozilla.org version 1.0
1565650376116 addons.xpi DEBUG Calling bootstrap method startup on wikipedia#search.mozilla.org version 1.0
1565650395862 addons.productaddons INFO sending request to: https://aus5.mozilla.org/update/3/GMP/68.0.1/20190717172542/Darwin_x86_64-gcc3/en-US/release/Darwin%2018.7.0/default/default/update.xml
1565650395943 addons.productaddons INFO Completed downloading document
1565650396315 addons.productaddons INFO downloadXHR File download. status=200
1565650396318 addons.productaddons INFO Downloaded file will be saved to /var/folders/3s/qk2pg7q16m5056kjfvgkqk4c0000gn/T/tmpaddon-f9b30e
1565650396811 addons.productaddons INFO downloadXHR File download. status=200
1565650396814 addons.productaddons INFO Downloaded file will be saved to /var/folders/3s/qk2pg7q16m5056kjfvgkqk4c0000gn/T/tmpaddon-26509c
Build info: version: '2.52.0', revision: '4c2593cfc3689a7fcd7be52549167e5ccc93ad28', time: '2016-02-11 11:22:43'
System info: host: 'Tanner-Devetry-Mac.local', ip: '192.168.231.124', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6', java.version: '1.8.0_191'
Driver info: driver.version: FirefoxDriver
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:125) ~[selenium-firefox-driver-2.52.0.jar:?]
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:271) ~[selenium-firefox-driver-2.52.0.jar:?]
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:119) ~[selenium-remote-driver-2.52.0.jar:?]
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:216) ~[selenium-firefox-driver-2.52.0.jar:?]
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211) ~[selenium-firefox-driver-2.52.0.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.FirefoxDriverConfig.createBrowser(FirefoxDriverConfig.java:100) ~[JMeterPlugins-WebDriver.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.FirefoxDriverConfig.createBrowser(FirefoxDriverConfig.java:21) ~[JMeterPlugins-WebDriver.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.getPreparedBrowser(WebDriverConfig.java:233) ~[JMeterPlugins-WebDriver.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.threadStarted(WebDriverConfig.java:220) ~[JMeterPlugins-WebDriver.jar:?]
at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:762) [ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:994) [jorphan.jar:5.1.1 r1855137]
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:995) [jorphan.jar:5.1.1 r1855137]
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:977) [jorphan.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:730) [ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:718) [ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249) [ApacheJMeter_core.jar:5.1.1 r1855137]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
":null,"translators":null,"contributors":null,"locales":["fa"]},{"name":"Wikipedia (or)","description":"ୱିକିପିଡ଼ିଆ (ଓଡ଼ିଆ)","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["or"]},{"name":"വിക്കിപീഡിയ (ml)","description":"വിക്കിപീഡിയ, സ്വതന്ത്ര സര്‍വ്വവിജ്ഞാനകോശം ","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ml"]},{"name":"Wikipedia (ia)","description":"Wikipedia, le encyclopedia libere","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ia"]},{"name":"Wikipedia (ms)","description":"Wikipedia, ensiklopedia bebas","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ms"]},{"name":"Wikipedia (no)","description":"Wikipedia, den frie encyklopedi","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["NO"]},{"name":"Википедия (ru)","description":"Википедия, свободная энциклопедия","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["ru"]},{"name":"Wikipedia (br)","description":"Wikipedia, an holloueziadur digor","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["br"]},{"name":"Wikipedia (pl)","description":"Wikipedia, wolna encyklopedia","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["pl"]},{"name":"ວິກິພີເດຍ (lo)","description":"ວິກິພີເດຍ, ສາລານຸກົມເສລີ","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["lo"]},{"name":"Wikipedija (sl)","description":"Wikipedija, prosta enciklopedija","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["sl"]},{"name":"Vikipēdija","description":"Vikipēdija, brīvā enciklopēdija","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["lv"]},{"name":"Wikipedia (sv)","description":"Wikipedia, den fria encyklopedin","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["sv-SE"]},{"name":"Вікіпэдыя (be-tarask)","description":"Вікіпэдыя, вольная энцыкляпэдыя","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["be-tarask"]},{"name":"Biquipedia (an)","description":"A enciclopedia Libre","creator":null,"developers":null,"translators":null,"contributors":null,"locales":["an"]}],"targetApplications":[{"id":"toolkit#mozilla.org","minVersion":null,"maxVersion":null}],"targetPlatforms":[],"seen":true,"dependencies":[],"incognito":"spanning","userPermissions":{"permissions":[],"origins":[]},"icons":{"16":"favicon.ico"},"iconURL":null,"blocklistState":0,"blocklistURL":null,"startupData":null,"hidden":true,"installTelemetryInfo":null,"recommendationState":null,"rootURI":"resource://search-extensions/wikipedia/","location":"app-builtin"}
1565650376116 addons.xpi DEBUG Loading bootstrap scope from resource://search-extensions/wikipedia/
1565650376116 addons.xpi DEBUG Calling bootstrap method install on wikipedia#search.mozilla.org version 1.0
1565650376116 addons.xpi DEBUG Calling bootstrap method startup on wikipedia#search.mozilla.org version 1.0
1565650395862 addons.productaddons INFO sending request to: https://aus5.mozilla.org/update/3/GMP/68.0.1/20190717172542/Darwin_x86_64-gcc3/en-US/release/Darwin%2018.7.0/default/default/update.xml
1565650395943 addons.productaddons INFO Completed downloading document
1565650396315 addons.productaddons INFO downloadXHR File download. status=200
1565650396318 addons.productaddons INFO Downloaded file will be saved to /var/folders/3s/qk2pg7q16m5056kjfvgkqk4c0000gn/T/tmpaddon-f9b30e
1565650396811 addons.productaddons INFO downloadXHR File download. status=200
1565650396814 addons.productaddons INFO Downloaded file will be saved to /var/folders/3s/qk2pg7q16m5056kjfvgkqk4c0000gn/T/tmpaddon-26509c
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:113) ~[selenium-firefox-driver-2.52.0.jar:?]
... 16 more
2019-08-12 16:53:41,118 ERROR o.a.j.t.JMeterThread: Error while processing sampler: 'jp#gc - Web Driver Sampler - Perform OAuth'.
java.lang.IllegalArgumentException: Browser has not been configured. Please ensure at least 1 WebDriverConfig is created for a ThreadGroup.
at com.googlecode.jmeter.plugins.webdriver.sampler.WebDriverSampler.sample(WebDriverSampler.java:52) ~[JMeterPlugins-WebDriver.jar:?]
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486) [ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253) [ApacheJMeter_core.jar:5.1.1 r1855137]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
2019-08-12 16:53:42,339 INFO o.a.j.t.JMeterThread: Thread is done: ThreadGroup 1-1
2019-08-12 16:53:42,339 INFO o.a.j.t.JMeterThread: Thread finished: ThreadGroup 1-1
2019-08-12 16:53:42,339 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2019-08-12 16:53:42,339 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
UPDATE
I went ahead and tried to use Firefox 26 instead, but now I am getting an even less helpful error.
Here are the details of my environment:
JMeter: 5.1.1
Firefox: 26.0
Selenium/WebDriver Kit: 2.52.0
Here is the error I am getting now:
2019-08-13 11:52:06,427 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2019-08-13 11:52:06,428 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2019-08-13 11:52:06,432 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2019-08-13 11:52:06,557 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2019-08-13 11:52:06,558 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2019-08-13 11:52:06,558 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2019-08-13 11:52:06,558 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false
2019-08-13 11:52:06,560 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2019-08-13 11:52:06,560 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2019-08-13 11:52:06,560 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1
2019-08-13 11:52:06,561 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2019-08-13 11:52:06,561 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.NoClassDefFoundError: org/openqa/selenium/firefox/FirefoxOptions
at com.googlecode.jmeter.plugins.webdriver.config.FirefoxDriverConfig.createBrowser(FirefoxDriverConfig.java:97) ~[jmeter-plugins-webdriver-3.1.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.FirefoxDriverConfig.createBrowser(FirefoxDriverConfig.java:22) ~[jmeter-plugins-webdriver-3.1.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.getPreparedBrowser(WebDriverConfig.java:233) ~[jmeter-plugins-webdriver-3.1.jar:?]
at com.googlecode.jmeter.plugins.webdriver.config.WebDriverConfig.threadStarted(WebDriverConfig.java:220) ~[jmeter-plugins-webdriver-3.1.jar:?]
at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:762) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:994) ~[jorphan.jar:5.1.1 r1855137]
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:977) ~[jorphan.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:730) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:718) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:249) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
2019-08-13 11:52:06,562 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2019-08-13 11:52:06,562 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
And here is the set up I followed from BlazeMeter's tutorial updated in April of 2019:
What else do I need to do to get Jmeter to run these tests??? Would be nice if there was documentation that was up to date and explained all the requirements.

Looking into your output:
Build info: version: '2.52.0',
According to Selenium Changelog you can use Firefox version 46 or older with this Selenium Firefox Driver 2.52.0 so either consider downgrading your Firefox to Firefox 46 or upgrade to the latest version of WebDriver Sampler Plugin which is version 3.1 as of now, this way you will be able to use modern Firefoxen via GeckoDriver.
You can install new JMeter Plugins and keep old ones up-to-date using JMeter Plugins Manager

Related

No such element error from Web Driver sampler in Jmeter while running headless

Context: Through webdriver sample am running a script and it works fine when I run with GUI mode. While running headless mode in Chrome I am getting no such element exception.
UI SCRIPT
WDS.sampleResult.sampleStart()
WDS.browser.get('https://sprnt-app05.perceptive.cloud/sprint04-webimpact');
java.lang.Thread.sleep(10000);
WDS.browser.findElement(org.openqa.selenium.By.id("details-button")).click();
java.lang.Thread.sleep(8000);
WDS.browser.findElement(org.openqa.selenium.By.id("proceed-link")).click();
java.lang.Thread.sleep(8000);
WDS.browser.findElement(org.openqa.selenium.By.id("i0116")).sendKeys("UserName");
java.lang.Thread.sleep(5000);
WDS.browser.findElement(org.openqa.selenium.By.id("idSIButton9")).click();
java.lang.Thread.sleep(5000);
WDS.browser.findElement(org.openqa.selenium.By.id("i0118")).sendKeys("Password");
java.lang.Thread.sleep(5000);
WDS.browser.findElement(org.openqa.selenium.By.id("idSIButton9")).click();
java.lang.Thread.sleep(5000);
WDS.browser.findElement(org.openqa.selenium.By.id("idSIButton9")).click();
java.lang.Thread.sleep(5000);
Error Details:
2022-05-24 10:51:19,474 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2022-05-24 10:51:19,474 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2022-05-24 10:51:19,475 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2022-05-24 10:51:19,777 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2022-05-24 10:51:19,777 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2022-05-24 10:51:19,777 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2022-05-24 10:51:19,777 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false
2022-05-24 10:51:19,784 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2022-05-24 10:51:19,784 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2022-05-24 10:51:19,784 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1
2022-05-24 10:51:36,164 ERROR c.g.j.p.w.s.WebDriverSampler: no such element: Unable to locate element: {"method":"css selector","selector":"#details\-button"}
(Session info: headless chrome=101.0.4951.67)
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'L507574', ip: '192.168.0.130', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_191'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 101.0.4951.67, chrome: {chromedriverVersion: 101.0.4951.41 (93c720db8323..., userDataDir: <dir>}, goog:chromeOptions: {debuggerAddress: localhost:57816}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(system), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:virtualAuthenticators: true}
Session ID: 38f606e9e44d882027555b6544d319b7
*** Element info: {Using=id, value=details-button}
2022-05-24 10:51:36,169 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1
2022-05-24 10:51:36,169 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2022-05-24 10:51:36,784 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2022-05-24 10:51:36,784 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
Error Details:
Configuration Change: I am using Chrome Driver
This works fine when the headless checkbox is unchecked. How to resolve this ?
It might be the case the headless browser has smaller window hence the element you're trying to interact with is not visible in the viewport.
You can try taking a screenshot to see what exactly is displayed
var screenshot = WDS.browser.getScreenshotAs(org.openqa.selenium.OutputType.FILE)
screenshot.renameTo(new java.io.File('screenshot.png'))
also using sleep is some form of a performance anti-pattern, consider switching to Explicit Waits.
More information: The WebDriver Sampler: Your Top 10 Questions Answered
If this is the case - you can set the browser window size to somewhat bigger like:
WDS.browser.manage().window().setSize(new org.openqa.selenium.Dimension(1980, 1024))

HTTP/2 Request with JMeter fails with "nullSession" (jetty-alpn)

I've installed the Blazemeter HTTP/2 Plugin for JMeter and have trouble getting HTTP/2 requests to work.
My minimal test looks like this:
Thread Group
HTTP2 Request
Server: stackoverflow.com
Protocol: https
View Result Tree Http2
Running the test shows the following sampler result in the view result tree:
Thread Name:Thread Group 1-1
Sample Start:1970-01-01 01:00:00 CET
Load time:0
Connect Time:0
Latency:0
Size in bytes:2700
Sent bytes:0
Headers size in bytes:0
Body size in bytes:2700
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:Non HTTP response code: java.util.concurrent.ExecutionException
Response message:Non HTTP response message: org.eclipse.jetty.io.RuntimeIOException: javax.net.ssl.SSLHandshakeException: nullSession
HTTP2SampleResult fields:
ContentType:
DataEncoding: null
And the log:
2020-07-03 12:58:13,457 WARN o.a.j.v.ViewResultsFullVisualizer: Error loading result renderer: org.apache.jmeter.visualizers.RenderInBrowser
java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_252]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_252]
at com.blazemeter.jmeter.http2.visualizers.ViewResultsFullVisualizer.createComboRender(ViewResultsFullVisualizer.java:396) ~[jmeter-bzm-http2-1.5.jar:?]
at com.blazemeter.jmeter.http2.visualizers.ViewResultsFullVisualizer.createLeftPanel(ViewResultsFullVisualizer.java:322) ~[jmeter-bzm-http2-1.5.jar:?]
at com.blazemeter.jmeter.http2.visualizers.ViewResultsFullVisualizer.init(ViewResultsFullVisualizer.java:283) ~[jmeter-bzm-http2-1.5.jar:?]
at com.blazemeter.jmeter.http2.visualizers.ViewResultsFullVisualizer.<init>(ViewResultsFullVisualizer.java:118) ~[jmeter-bzm-http2-1.5.jar:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_252]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_252]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_252]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_252]
at org.apache.jmeter.gui.GuiPackage.getGuiFromCache(GuiPackage.java:405) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.gui.GuiPackage.createTestElement(GuiPackage.java:352) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.gui.action.AddToTree.doAction(AddToTree.java:68) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) ~[ApacheJMeter_core.jar:5.2.1]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) [?:1.8.0_252]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) [?:1.8.0_252]
at java.awt.EventQueue.access$500(EventQueue.java:97) [?:1.8.0_252]
at java.awt.EventQueue$3.run(EventQueue.java:709) [?:1.8.0_252]
at java.awt.EventQueue$3.run(EventQueue.java:703) [?:1.8.0_252]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_252]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) [?:1.8.0_252]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) [?:1.8.0_252]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) [?:1.8.0_252]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_252]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_252]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_252]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_252]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_252]
Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel
at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_252]
at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_252]
at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_252]
... 29 more
2020-07-03 12:58:19,743 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-07-03 12:58:19,745 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-07-03 12:58:19,751 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-07-03 12:58:20,368 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2020-07-03 12:58:20,371 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2020-07-03 12:58:20,372 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-07-03 12:58:20,373 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false
2020-07-03 12:58:20,376 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-07-03 12:58:20,376 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-07-03 12:58:20,381 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1
2020-07-03 12:58:20,489 WARN o.e.j.i.SelectorManager: Exception while notifying connection SslConnection#694fa68a::SocketChannelEndPoint#65c6505a{stackoverflow.com/151.101.129.69:443<->/192.168.0.178:34818,CLOSED,fill=-,flush=-,to=2/30000}{io=1/1,kio=-1,kro=-1}->SslConnection#694fa68a{NEED_UNWRAP,eio=-1/-1,di=-1,fill=IDLE,flush=IDLE}~>DecryptedEndPoint#58ec6f77{stackoverflow.com/151.101.129.69:443<->/192.168.0.178:34818,CLOSED,fill=-,flush=-,to=10/30000}=>ALPNClientConnection#1d8fc708
org.eclipse.jetty.io.RuntimeIOException: javax.net.ssl.SSLHandshakeException: nullSession
at org.eclipse.jetty.io.NegotiatingClientConnection.onOpen(NegotiatingClientConnection.java:72) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.ssl.SslConnection.onOpen(SslConnection.java:360) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.SelectorManager.connectionOpened(SelectorManager.java:324) [jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:276) [jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.ManagedSelector.access$1800(ManagedSelector.java:62) [jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:933) [jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) [jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) [jetty-util-9.4.26.v20200117.jar:9.4.26.v20200117]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Caused by: javax.net.ssl.SSLHandshakeException: nullSession
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.handshakeFailed(SslConnection.java:933) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:1142) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.NegotiatingClientConnection.onOpen(NegotiatingClientConnection.java:63) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
... 8 more
Caused by: java.lang.NoSuchFieldError: nullSession
at sun.security.ssl.ClientHandshaker.getKickstartMessage(ClientHandshaker.java:1350) ~[?:1.8.0_252]
at sun.security.ssl.Handshaker.kickstart(Handshaker.java:1117) ~[?:1.8.0_252]
at sun.security.ssl.SSLEngineImpl.kickstartHandshake(SSLEngineImpl.java:736) ~[?:1.8.0_252]
at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1232) ~[?:1.8.0_252]
at sun.security.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1185) ~[?:1.8.0_252]
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:511) ~[?:1.8.0_252]
at org.eclipse.jetty.io.ssl.SslConnection.wrap(SslConnection.java:412) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:1052) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
at org.eclipse.jetty.io.NegotiatingClientConnection.onOpen(NegotiatingClientConnection.java:63) ~[jetty-io-9.4.26.v20200117.jar:9.4.26.v20200117]
... 8 more
2020-07-03 12:58:20,494 WARN o.e.j.i.ManagedSelector: org.eclipse.jetty.io.RuntimeIOException: javax.net.ssl.SSLHandshakeException: nullSession
2020-07-03 12:58:20,498 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1
2020-07-03 12:58:20,498 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2020-07-03 12:58:20,499 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-07-03 12:58:20,500 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
Changing protocol to HTTP
If I change the protocol to HTTP, I get the following sampler result instead:
Thread Name:Thread Group 1-1
Sample Start:2020-07-03 13:11:59 CEST
Load time:0
Connect Time:354
Latency:0
Size in bytes:1072
Sent bytes:0
Headers size in bytes:0
Body size in bytes:1072
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:java.util.concurrent.TimeoutException
Response message:null
And this is the log:
2020-07-03 13:11:58,817 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2020-07-03 13:11:58,819 INFO o.a.j.s.SampleEvent: List of sample_variables: []
2020-07-03 13:11:58,824 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2020-07-03 13:11:59,307 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2020-07-03 13:11:59,307 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2020-07-03 13:11:59,307 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2020-07-03 13:11:59,308 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 delayedStart=false
2020-07-03 13:11:59,309 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2020-07-03 13:11:59,310 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2020-07-03 13:11:59,312 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1
2020-07-03 13:11:59,690 INFO c.b.j.h.s.HTTP2StreamHandler: Parser for text/html is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2020-07-03 13:11:59,691 INFO c.b.j.h.s.HTTP2StreamHandler: Parser for application/xhtml+xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2020-07-03 13:11:59,692 INFO c.b.j.h.s.HTTP2StreamHandler: Parser for application/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2020-07-03 13:11:59,692 INFO c.b.j.h.s.HTTP2StreamHandler: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2020-07-03 13:11:59,693 INFO c.b.j.h.s.HTTP2StreamHandler: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
2020-07-03 13:11:59,693 INFO c.b.j.h.s.HTTP2StreamHandler: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
2020-07-03 13:11:59,736 INFO o.a.j.t.JMeterThread: Thread is done: Thread Group 1-1
2020-07-03 13:11:59,737 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group 1-1
2020-07-03 13:12:19,741 ERROR c.b.j.h.s.HTTP2SampleResult: Error while await for response
java.util.concurrent.TimeoutException: null
at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1784) ~[?:1.8.0_252]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928) ~[?:1.8.0_252]
at com.blazemeter.jmeter.http2.sampler.HTTP2Connection.awaitResponses(HTTP2Connection.java:171) ~[jmeter-bzm-http2-1.5.jar:?]
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.lambda$waitAllResponses$1(HTTP2Request.java:587) ~[jmeter-bzm-http2-1.5.jar:?]
at java.util.HashMap$Values.forEach(HashMap.java:981) [?:1.8.0_252]
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.waitAllResponses(HTTP2Request.java:585) [jmeter-bzm-http2-1.5.jar:?]
at com.blazemeter.jmeter.http2.sampler.HTTP2Request.threadFinished(HTTP2Request.java:548) [jmeter-bzm-http2-1.5.jar:?]
at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:774) [ApacheJMeter_core.jar:5.2.1]
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:994) [jorphan.jar:5.2.1]
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:977) [jorphan.jar:5.2.1]
at org.apache.jmeter.threads.JMeterThread.threadFinished(JMeterThread.java:741) [ApacheJMeter_core.jar:5.2.1]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:329) [ApacheJMeter_core.jar:5.2.1]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
2020-07-03 13:12:19,756 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2020-07-03 13:12:19,758 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
My Setup:
I am using JMeter 5.2.1 with OpenJDK 8 (openjdk version "1.8.0_252") on Linux (version 5.6.15-arch1-1)
(Got the same results with JMeter 5.3 on Ubuntu 20.04, running in CLI mode)
I added the following line at the top of my jmeter startup script, as per requirement of the HTTP/2 plugin:
JVM_ARGS="-Xbootclasspath/p:/opt/jmeter/lib/alpn-boot-8.1.13.v20181017.jar"
How can I solve or debug this issue?
Update:
I found out that as soon as I use alpn-boot as mentioned above, I have the same behavior for regular HTTP requests, so it seems to be a problem from that library. There is a mapping table for jetty-alpn versions against Java versions at https://github.com/jetty-project/jetty-alpn/blob/master/docs/version_mapping.properties and it currently does not contain my Java version.
The docs say
The table only shows the mapping up to OpenJDK 8u242, the last version that required the ALPN boot jar.
But if I start JMeter without the alpn argument, I see results like this (HTTP/2 with HTTPS):
Response code:Non HTTP response code: java.util.concurrent.ExecutionException
Response message:Non HTTP response message: java.lang.IllegalStateException: No Client ALPNProcessors!
As I found out, the combination of OpenJDK 8u252 and Jetty 9.4.26 (shipped with JMeter) is not compatible.
The ALPN APIs have been backported to Java 8u252 and Jetty 9.4.28, and alpn-boot is not needed anymore.
More information: https://webtide.com/jetty-alpn-java-8u252/
Updating the Jetty libraries to 9.4.28 helped:
Download files from https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.28.v20200408/ and https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-client/9.4.28.v20200408/
Replace jetty*-9.4.26* files in jmeter/lib by their 9.4.28 counterparts from the downloaded archive
Update: List of files
lib/jetty-alpn-client-9.4.28.v20200408.jar
lib/jetty-alpn-openjdk8-client-9.4.28.v20200408.jar
lib/jetty-client-9.4.28.v20200408.jar
lib/jetty-http-9.4.28.v20200408.jar
lib/jetty-io-9.4.28.v20200408.jar
lib/jetty-util-9.4.28.v20200408.jar

JMeter 3.3 keeps stating class not found

I have seen multiple questions asking something similar to what I'm asking but for some reason, it's not working for me. I'm using the Jmeter 3.3 app (the latest at this point in time) so maybe the advice doesn't work on the newest version of JMeter.
I'm trying to create a test plan with JMeter to test hitting my DB.
Database URL: jdbc:impala://server.domain.com:21050/default;auth=noSasl
JDBC Driver class: com.cloudera.impala.core.ImpalaJDBCDriver
One answer/advice said to copy the jar (in my case ImpalaJDBC4.jar) to the lib dir, then restart JMeter, which I did. I also put it in the lib/ext dir too. However, it still doesn't work for me. I keep getting the same error in jmeter.log:
Uncaught Exception java.lang.NoClassDefFoundError: Could not initialize class com.cloudera.impala.core.ImpalaJDBCDriver. See log file for details.
Not sure if path matters but I run jmeter from:
$ ~/tmp/apache-jmeter-3.3> bin/jmeter
and from
$ ~/tmp/apache-jmeter-3.3/bin> jmeter
Is there something I'm missing here? Am I putting it in the wrong place in JMeter? I know the driver class is there because I checked the contents of the jar file:
jar tvf ImpalaJDBC4.jar | less
2680 Thu Jan 04 08:11:12 PST 2018 com/cloudera/impala/core/ImpalaJDBCDriver.class
Thanks in advance for your help. I'm tired of banging my head against the wall.
Here are the logs. I tried to sanitize it so please ignore anything that might not be correct to do my sanitization.
2018-02-05 17:14:05,321 INFO o.a.j.u.JMeterUtils: Setting Locale to
en_US 2018-02-05 17:14:05,331 INFO o.a.j.JMeter: Loading user
properties from:
/Users/first.last/tmp/apache-jmeter-3.3/bin/user.properties 2018-02-05
17:14:05,332 INFO o.a.j.JMeter: Loading system properties from:
/Users/first.last/tmp/apache-jmeter-3.3/bin/system.properties
2018-02-05 17:14:05,336 INFO o.a.j.JMeter: Copyright (c) 1998-2017 The
Apache Software Foundation 2018-02-05 17:14:05,336 INFO o.a.j.JMeter:
Version 3.3 r1808647 2018-02-05 17:14:05,336 INFO o.a.j.JMeter:
java.version=1.8.0_162 2018-02-05 17:14:05,336 INFO o.a.j.JMeter:
java.vm.name=Java HotSpot(TM) 64-Bit Server VM 2018-02-05 17:14:05,336
INFO o.a.j.JMeter: os.name=Mac OS X 2018-02-05 17:14:05,336 INFO
o.a.j.JMeter: os.arch=x86_64 2018-02-05 17:14:05,337 INFO
o.a.j.JMeter: os.version=10.12.6 2018-02-05 17:14:05,337 INFO
o.a.j.JMeter: file.encoding=UTF-8 2018-02-05 17:14:05,337 INFO
o.a.j.JMeter: Max memory =536870912 2018-02-05 17:14:05,337 INFO
o.a.j.JMeter: Available Processors =8 2018-02-05 17:14:05,340 INFO
o.a.j.JMeter: Default Locale=English (United States) 2018-02-05
17:14:05,340 INFO o.a.j.JMeter: JMeter Locale=English (United States)
2018-02-05 17:14:05,340 INFO o.a.j.JMeter:
JMeterHome=/Users/first.last/tmp/apache-jmeter-3.3 2018-02-05
17:14:05,340 INFO o.a.j.JMeter: user.dir
=/Users/first.last/tmp/apache-jmeter-3.3 2018-02-05 17:14:05,341 INFO o.a.j.JMeter: PWD =/Users/first.last/tmp/apache-jmeter-3.3
2018-02-05 17:14:05,342 INFO o.a.j.JMeter: IP: 127.0.0.1 Name:
MSJCIT1050435 FullName: localhost 2018-02-05 17:14:06,930 INFO
o.a.j.g.a.LookAndFeelCommand: Using look and feel:
com.apple.laf.AquaLookAndFeel [Mac OS X, System] 2018-02-05
17:14:06,935 INFO o.a.j.JMeter: Loaded icon properties from
org/apache/jmeter/images/icon.properties 2018-02-05 17:14:07,722 INFO
o.a.j.e.u.CompoundVariable: Note: Function class names must contain
the string: '.functions.' 2018-02-05 17:14:07,722 INFO
o.a.j.e.u.CompoundVariable: Note: Function class names must not
contain the string: '.gui.' 2018-02-05 17:14:08,320 WARN
o.j.r.PluginManager: Found JAR conflict:
/Users/first.last/tmp/apache-jmeter-3.3/lib/ext/ImpalaJDBC4.jar and
/Users/first.last/tmp/apache-jmeter-3.3/lib/ImpalaJDBC4.jar 2018-02-05
17:14:09,830 INFO o.j.r.PluginManager: Plugins Status:
[jpgc-graphs-basic=2.0, jpgc-functions=2.0, jpgc-casutg=2.5,
jpgc-dummy=0.2, jpgc-ffw=2.0, jpgc-fifo=0.2, jpgc-perfmon=2.1,
jpgc-plugins-manager=0.19, jpgc-webdriver=2.3, jpgc-tst=2.1, webs
ocket-sampler=1.0.2-SNAPSHOT, websocket-samplers=1.1, jmeter-core=3.3,
jmeter-ftp=3.3, jmeter-http=3.3, jmeter-jdbc=3.3, jmeter-jms=3.3,
jmeter-junit=3.3, jmeter-java=3.3, jmeter-ldap=3.3, jmeter-mail=3.3,
jmeter-mongodb=3.3, jmeter-native=3.3, jmeter-tcp
=3.3, jmeter-components=3.3, jpgc-standard=2.0] 2018-02-05 17:14:09,863 INFO o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.assertions.BSFAssertion 2018-02-05 17:14:09,964 INFO
o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.extractor.BSFPostProcessor 2018-02-05 17:14:09,987
INFO o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.modifiers.BSFPreProcessor 2018-02-05 17:14:10,013
INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/html is
org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2018-02-05 17:14:10,013 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for
application/xhtml+xml is
org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2018-02-05 17:14:10,013 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for
application/xml is
org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2018-02-05 17:14:10,013 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for
text/xml is
org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2018-02-05 17:14:10,013 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for
text/vnd.wap.wml is
org.apache.jmeter.protocol.http.parser.RegexpHTMLParser 2018-02-05
17:14:10,013 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is
org.apache.jmeter.protocol.http.parser.CssParser 2018-02-05
17:14:10,434 INFO o.a.j.e.KeyToolUtils: keytool found at 'keytool'
2018-02-05 17:14:10,435 INFO o.a.j.p.h.p.ProxyControl: HTTP(S) Test
Script Recorder SSL Proxy will use keys that support embedded 3rd
party resources in file
/Users/first.last/tmp/apache-jmeter-3.3/bin/proxyserver.jks 2018-02-05
17:14:10,557 INFO o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.protocol.java.sampler.BSFSampler 2018-02-05
17:14:10,586 INFO o.a.j.s.FileServer: Default
base='/Users/first.last/tmp/apache-jmeter-3.3' 2018-02-05 17:14:10,639
INFO o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.protocol.mongodb.config.MongoSourceElement
2018-02-05 17:14:10,639 INFO o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.protocol.mongodb.sampler.MongoScriptSampler
2018-02-05 17:14:10,727 INFO o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.timers.BSFTimer 2018-02-05 17:14:10,743 INFO
o.a.j.g.u.MenuFactory: Skipping
org.apache.jmeter.visualizers.BSFListener 2018-02-05 17:14:10,834 INFO
o.a.j.s.SampleResult: Note: Sample TimeStamps are START times
2018-02-05 17:14:10,835 INFO o.a.j.s.SampleResult:
sampleresult.default.encoding is set to ISO-8859-1 2018-02-05
17:14:10,835 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true
2018-02-05 17:14:10,835 INFO o.a.j.s.SampleResult:
sampleresult.nanoThreadSleep=5000 2018-02-05 17:14:40,008 INFO
o.a.j.g.a.Load: Loading file: /Users/first.last/tmp/impala.jmx
2018-02-05 17:14:40,009 INFO o.a.j.s.FileServer: Set new
base='/Users/first.last/tmp' 2018-02-05 17:14:40,125 INFO
o.a.j.s.SaveService: Testplan (JMX) version: 2.2. Testlog (JTL)
version: 2.2 2018-02-05 17:14:40,129 INFO o.a.j.s.SaveService: Using
SaveService properties file encoding UTF-8 2018-02-05 17:14:40,130
INFO o.a.j.s.SaveService: Using SaveService properties version 3.2
2018-02-05 17:14:40,132 INFO o.a.j.s.SaveService: Loading file:
/Users/first.last/tmp/impala.jmx 2018-02-05 17:14:40,479 INFO
o.a.j.s.FileServer: Set new base='/Users/first.last/tmp' 2018-02-05
17:14:44,337 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2018-02-05 17:14:44,337 INFO o.a.j.s.SampleEvent: List of
sample_variables: [] 2018-02-05 17:14:44,337 INFO o.a.j.s.SampleEvent:
List of sample_variables: [] 2018-02-05 17:14:44,356 INFO
o.a.j.g.u.JMeterMenuBar: setRunning(true, local) 2018-02-05
17:14:44,516 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup:
1 : Thread Group 2018-02-05 17:14:44,517 INFO
o.a.j.e.StandardJMeterEngine: Starting 3 threads for group Thread
Group. 2018-02-05 17:14:44,517 INFO o.a.j.e.StandardJMeterEngine:
Thread will continue on error 2018-02-05 17:14:44,517 INFO
o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=3
ramp-up=1 perThread=333.33334 delayedStart=false 2018-02-05
17:14:44,521 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2018-02-05 17:14:44,522 INFO o.a.j.e.StandardJMeterEngine: All thread
groups have been started 2018-02-05 17:14:44,522 INFO
o.a.j.t.JMeterThread: Thread started: Thread Group 1-1 2018-02-05
17:14:44,525 INFO o.a.j.t.JMeterThread: Thread finished: Thread Group
1-1 2018-02-05 17:14:44,526 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.NoClassDefFoundError: org/apache/thrift/protocol/TProtocol
at com.cloudera.impala.core.ImpalaJDBCDriver.(Unknown Source) ~[ImpalaJDBC4.jar:ImpalaJDBC_2.5.42.1062]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_162]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_162]
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2124)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2033)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:326)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:191)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:79)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:498)
~[ApacheJMeter_core.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:424)
~[ApacheJMeter_core.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
~[ApacheJMeter_core.jar:3.3 r1808647]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162] Caused by: java.lang.ClassNotFoundException:
org.apache.thrift.protocol.TProtocol
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_162]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_162]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_162]
... 13 more 2018-02-05 17:14:44,860 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-2 2018-02-05 17:14:44,862 INFO
o.a.j.t.JMeterThread: Thread finished: Thread Group 1-2 2018-02-05
17:14:44,862 ERROR o.a.j.JMeter: Uncaught exception:
java.lang.NoClassDefFoundError: Could not initialize class
com.cloudera.impala.core.ImpalaJDBCDriver
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_162]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_162]
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2124)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2033)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:326)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:191)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:79)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:498)
~[ApacheJMeter_core.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:424)
~[ApacheJMeter_core.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
~[ApacheJMeter_core.jar:3.3 r1808647]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162] 2018-02-05 17:14:45,191 INFO o.a.j.t.JMeterThread: Thread started:
Thread Group 1-3 2018-02-05 17:14:45,192 INFO o.a.j.t.JMeterThread:
Thread finished: Thread Group 1-3 2018-02-05 17:14:45,192 ERROR
o.a.j.JMeter: Uncaught exception: java.lang.NoClassDefFoundError:
Could not initialize class com.cloudera.impala.core.ImpalaJDBCDriver
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_162]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_162]
at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2124)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2033)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
~[commons-dbcp2-2.1.1.jar:2.1.1]
at org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:326)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:191)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:79)
~[ApacheJMeter_jdbc.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:498)
~[ApacheJMeter_core.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:424)
~[ApacheJMeter_core.jar:3.3 r1808647]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:255)
~[ApacheJMeter_core.jar:3.3 r1808647]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162] 2018-02-05 17:14:45,193 INFO o.a.j.e.StandardJMeterEngine: Notifying
test listeners of end of test 2018-02-05 17:14:45,195 INFO
o.a.j.g.u.JMeterMenuBar: setRunning(false, local)
From the error you are missing class org/apache/thrift/protocol/TProtocol which is part of apache thrift jar - libthrift-X.X.X.jar. Impala driver have list of mandatory jars,
See Configure Impala JDBC:
download the JAR files to each client machine that will use JDBC with Impala:...
libthrift-X.X.X.jar
To enable JDBC support for Impala on the system where you run the JDBC application:
Download the JAR files listed above to each client machine.
Full list of dependencies:
commons-logging-X.X.X.jar
hadoop-common.jar
hive-common-X.XX.X-cdhX.X.X.jar
hive-jdbc-X.XX.X-cdhX.X.X.jar
hive-metastore-X.XX.X-cdhX.X.X.jar
hive-service-X.XX.X-cdhX.X.X.jar
httpclient-X.X.X.jar
httpcore-X.X.X.jar
libfb303-X.X.X.jar
libthrift-X.X.X.jar
log4j-X.X.XX.jar
slf4j-api-X.X.X.jar
slf4j-logXjXX-X.X.X.jar

TCP sampler request in JMeter

I have a java program that acts as s TCP server and I need to test its performance.
Written a tcp sampler jmeter request and I am able to get response data correctly but the response code is 500 and there are errors thrown in logs
TCPClientClassName : TCPClientImpl
Response : 500
Checked "Reuse Connection", "Set No Delay" options
Thread Name: Thread Group 1-1
Sample Start: 2014-10-15 17:33:51 IST
Load time: 514
Latency: 0
Size in bytes: 14
Headers size in bytes: 0
Body size in bytes: 14
Sample Count: 1
Error Count: 1
Response code: 500
Response message: org.apache.jmeter.protocol.tcp.sampler.ReadException:
Exception in logs
2014/10/15 17:35:14 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2014/10/15 17:35:14 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2014/10/15 17:35:14 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,*local*)
2014/10/15 17:35:14 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group
2014/10/15 17:35:14 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group Thread Group.
2014/10/15 17:35:14 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2014/10/15 17:35:14 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 1 perThread 1000.0 delayedStart=false
2014/10/15 17:35:14 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2014/10/15 17:35:14 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2014/10/15 17:35:14 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2014/10/15 17:35:14 INFO - jmeter.protocol.tcp.sampler.TCPClientImpl: Using platform default charset:windows- 1252
2014/10/15 17:35:14 INFO - jmeter.protocol.tcp.sampler.TCPSampler: Using eolByte=10
2014/10/15 17:35:15 ERROR - jmeter.protocol.tcp.sampler.TCPSampler: org.apache.jmeter.protocol.tcp.sampler.ReadException:
at org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl.read(TCPClientImpl.java:117)
at org.apache.jmeter.protocol.tcp.sampler.TCPSampler.sample(TCPSampler.java:414)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl.read(TCPClientImpl.java:104)
... 4 more
2014/10/15 17:35:15 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2014/10/15 17:35:15 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2014/10/15 17:35:15 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
First, To check that your TCP server is really running, run :
telnet host:port
If it still fails, it might be because Firewall is not open between JMeter and target server hosting your TCP server

JMeter distributed server not sending results back to master server

Issue: Remote Jmeter server is not reporting back the results to the master server.
Description:
Using a VMware server I have added several Ubuntu servers hosting various JMeter client/servers. I have setup a very simple distributed Jmeter environment using one master and one remote slave. I have a very simple test plan that uses FTP to transfer a single file to a third FTP server.
Jmeter Master: 192.168.19.219, Ubuntu 12.04, Java 1.7.0.51, Jmeter 2.11
Jmeter Slave: 192.168.19.201, Ubuntu 12.04, Java 1.7.0.51, Jmeter 2.11
FTP Server 192.168.19.211, Win2008 R2
Upon execution the test plan works correctly and the file gets uploaded and downloaded successfully to and from the FTP server. Whats not working are the results. Using wireshark I determined that no results were being sent back to the master server. I then checked the jmeter-server.log and noticed some errors complaining about java.rmi.ConnectException. Its trying to use 127.0.0.1 which is obviously not the correct address. I read up and found to correct this you must set the param "java.rmi.server.hostname".
So on the slave server I edited the jmeter-server config file to the IP address of the slave server:
RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.19.201
The jmeter-server.log (attached) shows the java.rmi.server.hostname being picked up so I cannot figure out why further down in the jmeter-server.log its complaining about 127.0.0.1? Where is 127.0.0.1 coming from? Why is RMI not using 192.168.19.201?
Jmeter-server.log:
2014/04/24 14:22:02 INFO - jmeter.util.JMeterUtils: Setting Locale to en_US
2014/04/24 14:22:02 INFO - jmeter.JMeter: Loading user properties from: /home/tester/apache-jmeter-2.11/bin/user.properties
2014/04/24 14:22:02 INFO - jmeter.JMeter: Loading system properties from: /home/tester/apache-jmeter-2.11/bin/system.properties
2014/04/24 14:22:02 INFO - jmeter.JMeter: Setting System property: java.rmi.server.hostname=192.168.19.201
2014/04/24 14:22:02 INFO - jmeter.JMeter: Setting System property: server_port=1099
2014/04/24 14:22:02 INFO - jmeter.JMeter: Copyright (c) 1998-2014 The Apache Software Foundation
2014/04/24 14:22:02 INFO - jmeter.JMeter: Version 2.11 r1554548
2014/04/24 14:22:02 INFO - jmeter.JMeter: java.version=1.7.0_51
2014/04/24 14:22:02 INFO - jmeter.JMeter: java.vm.name=OpenJDK Server VM
2014/04/24 14:22:02 INFO - jmeter.JMeter: os.name=Linux
2014/04/24 14:22:02 INFO - jmeter.JMeter: os.arch=i386
2014/04/24 14:22:02 INFO - jmeter.JMeter: os.version=3.2.0-60-generic
2014/04/24 14:22:02 INFO - jmeter.JMeter: file.encoding=UTF-8
2014/04/24 14:22:02 INFO - jmeter.JMeter: Default Locale=English (United States)
2014/04/24 14:22:02 INFO - jmeter.JMeter: JMeter Locale=English (United States)
2014/04/24 14:22:02 INFO - jmeter.JMeter: JMeterHome=/home/tester/apache-jmeter-2.11
2014/04/24 14:22:02 INFO - jmeter.JMeter: user.dir =/home/tester/apache-jmeter-2.11/bin
2014/04/24 14:22:02 INFO - jmeter.JMeter: PWD =/home/tester/apache-jmeter-2.11/bin
2014/04/24 14:22:02 INFO - jmeter.JMeter: IP: 127.0.0.1 Name: LoadRunner2 FullName: localhost
2014/04/24 14:22:02 INFO - jmeter.engine.RemoteJMeterEngineImpl: Starting backing engine on 1099
2014/04/24 14:22:02 INFO - jmeter.engine.RemoteJMeterEngineImpl: Local IP address=192.168.19.201
2014/04/24 14:22:02 INFO - jmeter.engine.RemoteJMeterEngineImpl: IP address is a site-local address; this may cause problems with remote access.
Can be overridden by defining the system property 'java.rmi.server.hostname' - see jmeter-server script file
2014/04/24 14:22:02 INFO - jmeter.engine.RemoteJMeterEngineImpl: Creating RMI registry (server.rmi.create=true)
2014/04/24 14:22:02 INFO - jmeter.engine.RemoteJMeterEngineImpl: Bound to registry on port 1099
2014/04/24 14:25:15 WARN - jmeter.engine.RemoteJMeterEngineImpl: Backing engine is null, ignoring reset
2014/04/24 14:25:15 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2014/04/24 14:25:15 INFO - jmeter.samplers.BatchSampleSender: Using batching for this run. Thresholds: num=100, time=60000
2014/04/24 14:25:15 INFO - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2014/04/24 14:25:15 INFO - jmeter.samplers.BatchSampleSender: Using batching for this run. Thresholds: num=100, time=60000
2014/04/24 14:25:15 INFO - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2014/04/24 14:25:15 INFO - jmeter.samplers.BatchSampleSender: Using batching for this run. Thresholds: num=100, time=60000
2014/04/24 14:25:15 INFO - jmeter.samplers.DataStrippingSampleSender: Using DataStrippingSampleSender for this run
2014/04/24 14:25:15 INFO - jmeter.engine.RemoteJMeterEngineImpl: Creating JMeter engine on host 192.168.19.201 base '.'
2014/04/24 14:25:15 INFO - jmeter.engine.RemoteJMeterEngineImpl: Remote client host: 192.168.19.219
2014/04/24 14:25:15 INFO - jmeter.engine.StandardJMeterEngine: Listeners will be started after enabling running version
2014/04/24 14:25:15 INFO - jmeter.engine.StandardJMeterEngine: To revert to the earlier behaviour, define jmeterengine.startlistenerslater=false
2014/04/24 14:25:15 INFO - jmeter.services.FileServer: Default base='/home/tester/apache-jmeter-2.11/bin'
2014/04/24 14:25:15 INFO - jmeter.services.FileServer: Set new base='.'
2014/04/24 14:25:15 INFO - jmeter.engine.StandardJMeterEngine: Applying properties {}
2014/04/24 14:25:15 INFO - jmeter.engine.RemoteJMeterEngineImpl: Running test
2014/04/24 14:25:15 INFO - jmeter.engine.StandardJMeterEngine: Running the test!
2014/04/24 14:25:15 INFO - jmeter.samplers.SampleEvent: List of sample_variables: []
2014/04/24 14:25:15 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.'
2014/04/24 14:25:15 INFO - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.'
2014/04/24 14:25:16 ERROR - jmeter.samplers.RemoteListenerWrapper: testStarted(host) java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at org.apache.jmeter.samplers.RemoteSampleListenerImpl_Stub.testStarted(Unknown Source)
at org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:85)
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:216)
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 8 more
2014/04/24 14:25:16 ERROR - jmeter.samplers.RemoteListenerWrapper: testStarted(host) java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at org.apache.jmeter.samplers.RemoteSampleListenerImpl_Stub.testStarted(Unknown Source)
at org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:85)
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:216)
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 8 more
2014/04/24 14:25:16 ERROR - jmeter.samplers.RemoteListenerWrapper: testStarted(host) java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at org.apache.jmeter.samplers.RemoteSampleListenerImpl_Stub.testStarted(Unknown Source)
at org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:85)
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:216)
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 8 more
2014/04/24 14:25:16 ERROR - jmeter.samplers.RemoteTestListenerWrapper: java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at org.apache.jmeter.samplers.RemoteSampleListenerImpl_Stub.testStarted(Unknown Source)
at org.apache.jmeter.samplers.RemoteTestListenerWrapper.testStarted(RemoteTestListenerWrapper.java:70)
at org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:216)
at org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:336)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 8 more
2014/04/24 14:25:16 INFO - jmeter.engine.StandardJMeterEngine: Starting ThreadGroup: 1 : FTP Thread Group
2014/04/24 14:25:16 INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group FTP Thread Group.
2014/04/24 14:25:16 INFO - jmeter.engine.StandardJMeterEngine: Thread will continue on error
2014/04/24 14:25:16 INFO - jmeter.threads.ThreadGroup: Starting thread group number 1 threads 1 ramp-up 0 perThread 0.0 delayedStart=false
2014/04/24 14:25:16 INFO - jmeter.threads.JMeterThread: jmeterthread.startearlier=true (see jmeter.properties)
2014/04/24 14:25:16 INFO - jmeter.threads.JMeterThread: Running PostProcessors in forward order
2014/04/24 14:25:16 INFO - jmeter.threads.ThreadGroup: Started thread group number 1
2014/04/24 14:25:16 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2014/04/24 14:25:16 INFO - jmeter.threads.JMeterThread: Thread started: FTP Thread Group 1-1
2014/04/24 14:25:16 ERROR - jmeter.threads.RemoteThreadsListenerWrapper: java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at org.apache.jmeter.threads.RemoteThreadsListenerImpl_Stub.threadStarted(Unknown Source)
at org.apache.jmeter.threads.RemoteThreadsListenerWrapper.threadStarted(RemoteThreadsListenerWrapper.java:52)
at org.apache.jmeter.threads.JMeterThread$ThreadListenerTraverser.addNode(JMeterThread.java:597)
at org.apache.jorphan.collections.HashTree.traverseInto(HashTree.java:961)
at org.apache.jorphan.collections.HashTree.traverse(HashTree.java:946)
at org.apache.jmeter.threads.JMeterThread.threadStarted(JMeterThread.java:566)
at org.apache.jmeter.threads.JMeterThread.initRun(JMeterThread.java:554)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 12 more
2014/04/24 14:25:16 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times
2014/04/24 14:25:16 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1
2014/04/24 14:25:16 INFO - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true
2014/04/24 14:25:16 INFO - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000
2014/04/24 14:25:17 ERROR - jmeter.samplers.BatchSampleSender: sampleOccurred java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at org.apache.jmeter.samplers.RemoteSampleListenerImpl_Stub.processBatch(Unknown Source)
at org.apache.jmeter.samplers.BatchSampleSender.sampleOccurred(BatchSampleSender.java:184)
at org.apache.jmeter.samplers.DataStrippingSampleSender.sampleOccurred(DataStrippingSampleSender.java:92)
at org.apache.jmeter.samplers.RemoteListenerWrapper.sampleOccurred(RemoteListenerWrapper.java:104)
at org.apache.jmeter.threads.ListenerNotifier.notifyListeners(ListenerNotifier.java:84)
at org.apache.jmeter.threads.JMeterThread.notifyListeners(JMeterThread.java:783)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:443)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 12 more
2014/04/24 14:25:17 ERROR - jmeter.samplers.BatchSampleSender: sampleOccurred java.rmi.ConnectException: Connection refused to host: 127.0.1.1; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at org.apache.jmeter.samplers.RemoteSampleListenerImpl_Stub.processBatch(Unknown Source)
at org.apache.jmeter.samplers.BatchSampleSender.sampleOccurred(BatchSampleSender.java:184)
at org.apache.jmeter.samplers.DataStrippingSampleSender.sampleOccurred(DataStrippingSampleSender.java:92)
at org.apache.jmeter.samplers.RemoteListenerWrapper.sampleOccurred(RemoteListenerWrapper.java:104)
at org.apache.jmeter.threads.ListenerNotifier.notifyListeners(ListenerNotifier.java:84)
at org.apache.jmeter.threads.JMeterThread.notifyListeners(JMeterThread.java:783)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:443)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 12 more
I got the same error as well. The fix is as follows.
While starting the client start with the following.
Jmeter Master:
./jmeter-server -Djava.rmi.server.hostname=192.168.19.219
Jmeter Slave:
./jmeter -Djava.rmi.server.hostname=192.168.19.201
Both client and server establishes connection to other. If unspecified the Slave sends local 127.0.1.1 to the Master. Master fails to open a connection to that ip and port, causing the error.
Providing Hostname for both JMeter client and server solved the problem. This is explained on Apache JMeter user manual page but with different intention under Tips section.
You can start JMeter server with option "-Djava.rmi.server.hostname=" on command line and same required for client.
I do not know why this isn't clearly documented but, on the client side you need to allow and/or define the client.rmi.localport
# Parameter that controls the RMI port used by the RemoteSampleListenerImpl
# Default value is 0 which means port is randomly assigned
#client.rmi.localport=0
http://gerardnico.com/wiki/jmeter/remote
So for the client
jmeter -n -t sometest.jmx -Djava.rmi.server.hostname=clientpublicip -Dclient.rmi.localport=4001 -Rremoteip1,remoteip2 -Gmyproperty=123 -l results.jtl

Resources