1
votes

I keep getting this errors (error code bellow) when I run jmeter tests through jenkins on remote slave machines :

[INFO] -------------------------------------------------------
[INFO]  P E R F O R M A N C E    T E S T S
[INFO] -------------------------------------------------------
[INFO]  
[INFO]  
[info]  
[debug] JMeter is called with the following command line arguments: -n -t C:\Performance_Framework\Project\src\test\jmeter\Example.jmx -l C:\Performance_Framework\Project\target\jmeter\results\Example.jtl -d C:\Performance_Framework\Project\target\jmeter -L DEBUG -j C:\Performance_Framework\CMS\target\jmeter\logs\Example.jmx.log -r -R 10.0.20.100,10.0.20.101 -X -Djava.rmi.server.hostname 10.0.20.200 -Dsun.net.http.allowRestrictedHeaders true
[info] Executing test: Example.jmx

[info] Creating summariser <summary>
[info] Created the tree successfully using C:\Performance_Framework\Project\src\test\jmeter\Example.jmx
[info] Configuring remote engine: 10.0.20.100
[info] error unmarshalling return; nested exception is: 
[info]  java.lang.ClassNotFoundException: org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub (no security manager: RMI class loader disabled)
[info] Failed to configure 10.0.20.100
[info] Configuring remote engine: 10.0.20.101
[info] error unmarshalling return; nested exception is: 
[info]  java.lang.ClassNotFoundException: org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub (no security manager: RMI class loader disabled)
[info] Failed to configure 10.0.20.101
[info] Stopping remote engines
[info] Remote engines have been stopped
[info] Error in NonGUIDriver java.lang.RuntimeException: Following remote engines could not be configured:[10.0.20.100, 10.0.20.101]
[info] Completed Test: Example.jmx

Now my current POM settings for the machines:

<configuration>
 --------------------------------
        <propertiesSystem>
            <java.rmi.server.hostname>10.0.20.200</java.rmi.server.hostname>
        </propertiesSystem>
        <remoteConfig>
            <startServersBeforeTests>true</startServersBeforeTests>
            <serverList>10.0.20.100,10.0.20.101</serverList>
            <stopServersAfterTests>true</stopServersAfterTests>
        </remoteConfig>                             
</configuration>

If I run the tests from JMETER GUI everything is ok, remote host start and execute the tests successfully.

I think that everything is set correctly, jmeter-server.bat is started before tests run on each slave.

Also there's something that I don't understand from this sentence on from jmeter maven plugin wiki :

runremote command being send to JMeter which will start up any remote servers you have defined in your jmeter.properties when your first test starts.

Which jmeter.properties file, of the project ?If yes, then i don't know how that could be defined as always the target folder is cleaned on every test run, that resulting jmeter properties file is derived.

Later Edit: I even created the jmeter.properties file and added in src/test/jmeter dir and defined there the remote hosts, but still nothing.

So what do you suggest guys?

2

2 Answers

0
votes

I resolved somehow the issue with the connection by editing the jmeter-server file by adding also the java.rmi.server.hostname.

But what I don't like is the test execution time, it's horrible , even with one thread which is supposed to be be finished in less than 1-2 sec but it's still showing that is trying to receive shutdown message.

[INFO] -------------------------------------------------------
[INFO]  P E R F O R M A N C E    T E S T S
[INFO] -------------------------------------------------------
[INFO]  

[INFO]  
[info]  
[debug] JMeter is called with the following command line arguments: -n -t C:\Performance_Framework\CMS\src\test\jmeter\Example.jmx -l C:\Performance_Framework\CMS\target\jmeter\results\Example.jtl -d C:\Performance_Framework\CMS\target\jmeter -L DEBUG -q C:\Performance_Framework\CMS\src\test\jmeter\jmeter.properties -j C:\Performance_Framework\CMS\target\jmeter\logs\Example.jmx.log -r -X -Djava.rmi.server.hostname 10.0.20.200 -Dsun.net.http.allowRestrictedHeaders true
[info] Executing test: SearchForModule.jmx

[info] Creating summariser <summary>
[info] Created the tree successfully using C:\Performance_Framework\CMS\src\test\jmeter\SearchForModule.jmx
[info] Configuring remote engine: 10.0.20.100
[info] Configuring remote engine: 10.0.20.101
[info] Starting remote engines
[info] Starting the test @ Thu Jul 30 13:48:23 BST 2015 (1438260503717)

[info] Remote engines have been started
[info] Waiting for possible shutdown message on port 4445

Is something that is wrong on jenkins side, tomcat webapp?

-1
votes

First thing you need to fix are the server addresses: https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Remote-Server-Configuration

10.0.x.100,10.0.x.101 are not correct IP addresses. This is what you can see in your error log.