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