georgejdli opened a new issue, #6248:
URL: https://github.com/apache/jmeter/issues/6248
### Expected behavior
When I set the property
`server.rmi.ssl.keystore.file=/secrets/rmi_keystore.jks` I expect the jmeter
worker to that file path to look for the rmi_keystore.jks file instead of the
default behavior of looking for it in the jmeter bin folder.
### Actual behavior
- rmi_keystore.jks is located in /secrets/rmi_keystore.jks
- the same rmi_keystore.jks is also loaded into the jmeter master node
- the jmeter worker starts up succesfully when
`server.rmi.ssl.keystore.file=/secrets/rmi_keystore.jks` is set
- it did **not** start up successfully when `server.rmi.ssl.keystore.file`
was **not** set
- while the jmeter worker starts up successfully it runs into an error of
not being able to fine rmi_keystore.jks file when a test is actually start by
the jmeter master node
- the jmeter worker seems to use the default behavior of looking for the
rmi_keystore.jks in the jmeter bin directory when the test starts
worker logs:
```log
WARN StatusConsoleListener The use of package scanning to locate plugins is
deprecated and will be removed in a future release
2024-03-11 21:28:57,235 INFO o.a.j.u.JMeterUtils: Setting Locale to en_EN
2024-03-11 21:28:57,286 INFO o.a.j.JMeter: Setting System property:
server_port=1099
2024-03-11 21:28:57,286 INFO o.a.j.JMeter: Setting JMeter property:
server.rmi.ssl.disable=false
2024-03-11 21:28:57,286 INFO o.a.j.JMeter: Setting System property:
server.rmi.localport=50000
2024-03-11 21:28:57,335 INFO o.a.j.JMeter: Setting System property:
server_port=1099
2024-03-11 21:28:57,335 INFO o.a.j.JMeter: Setting System property:
server.rmi.ssl.keystore.file=/secrets/rmi_keystore.jks
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: Copyright (c) 1998-2024 The
Apache Software Foundation
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: Version 5.6.3
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: java.version=11.0.22
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: java.vm.name=OpenJDK 64-Bit
Server VM
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: os.name=Linux
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: os.arch=amd64
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: os.version=5.15.0-1057-azure
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: file.encoding=UTF-8
2024-03-11 21:28:57,341 INFO o.a.j.JMeter: java.awt.headless=true
2024-03-11 21:28:57,342 INFO o.a.j.JMeter: Max memory =524288000
2024-03-11 21:28:57,342 INFO o.a.j.JMeter: Available Processors =1
2024-03-11 21:28:57,352 INFO o.a.j.JMeter: Default Locale=English (EN)
2024-03-11 21:28:57,352 INFO o.a.j.JMeter: JMeter Locale=English (EN)
2024-03-11 21:28:57,352 INFO o.a.j.JMeter:
JMeterHome=/jmeter/apache-jmeter-5.6.3
2024-03-11 21:28:57,352 INFO o.a.j.JMeter: user.dir
=/jmeter/apache-jmeter-5.6.3/bin
2024-03-11 21:28:57,353 INFO o.a.j.JMeter: PWD
=/jmeter/apache-jmeter-5.6.3/bin
2024-03-11 21:28:57,353 INFO o.a.j.JMeter: IP: 10.240.0.171 Name: worker1
FullName: worker1
2024-03-11 21:28:57,353 INFO o.a.j.JMeter:
user.classpath=/home/jmeter-support-files
2024-03-11 21:28:57,353 INFO o.a.j.JMeter: Adding to classpath and loader:
/home/jmeter-support-files
Using local port: 50000
2024-03-11 21:28:57,444 INFO o.a.j.r.RmiUtils: System property
'java.rmi.server.hostname' is not defined, using localHost address
2024-03-11 21:28:57,444 INFO o.a.j.r.RmiUtils: Local IP address=10.240.0.171
2024-03-11 21:28:57,662 INFO o.a.j.r.SSLRMIServerSocketFactory: Created
SSLSocket: [SSL: ServerSocket[addr=worker1/10.240.0.171,localport=50
Created remote object: UnicastServerRef2 [liveRef:
[endpoint:[10.240.0.171:50000,SSLRMIServerSocketFactory(host=worker1/10.240.0.171,
keySto
2024-03-11 21:28:57,835 INFO o.a.j.e.RemoteJMeterEngineImpl: Starting
backing engine on 1099
2024-03-11 21:28:57,835 INFO o.a.j.r.RmiUtils: System property
'java.rmi.server.hostname' is not defined, using localHost address
2024-03-11 21:28:57,835 INFO o.a.j.r.RmiUtils: Local IP address=10.240.0.171
2024-03-11 21:28:57,835 INFO o.a.j.e.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
2024-03-11 21:28:57,836 INFO o.a.j.e.RemoteJMeterEngineImpl: Creating RMI
registry (server.rmi.create=true)
2024-03-11 21:28:57,836 INFO o.a.j.r.RmiUtils: System property
'java.rmi.server.hostname' is not defined, using localHost address
2024-03-11 21:28:57,836 INFO o.a.j.r.RmiUtils: Local IP address=10.240.0.171
2024-03-11 21:28:57,840 INFO o.a.j.r.SSLRMIServerSocketFactory: Created
SSLSocket: [SSL: ServerSocket[addr=worker1/10.240.0.171,localport=10
2024-03-11 21:28:57,844 INFO o.a.j.e.RemoteJMeterEngineImpl: Bound to RMI
registry on port 1099
2024-03-11 21:31:48,073 INFO o.a.j.s.SampleEvent: List of sample_variables:
[]
2024-03-11 21:31:48,139 INFO o.a.j.s.BatchSampleSender: Using batching for
this run. Thresholds: num=100, time=60000
2024-03-11 21:31:48,140 INFO o.a.j.s.DataStrippingSampleSender: Using
DataStrippingSampleSender for this run with stripAlsoOnError: true
2024-03-11 21:31:48,277 INFO o.a.j.e.RemoteJMeterEngineImpl: Creating JMeter
engine on host 10.240.0.171 base '.'
2024-03-11 21:31:48,277 INFO o.a.j.e.RemoteJMeterEngineImpl: Remote client
host: 10.240.0.117
2024-03-11 21:31:48,285 INFO o.a.j.s.FileServer: Default
base='/jmeter/apache-jmeter-5.6.3/bin'
2024-03-11 21:31:48,287 INFO o.a.j.s.FileServer: Set new base='.'
2024-03-11 21:31:48,291 INFO o.a.j.e.StandardJMeterEngine: Applying
properties {}
2024-03-11 21:31:48,293 INFO o.a.j.e.RemoteJMeterEngineImpl: Running test
Starting the test on host 10.240.0.171 @ 2024 Mar 11 21:31:48 GMT
(1710192708293)
2024-03-11 21:31:48,345 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2024-03-11 21:31:48,345 INFO o.a.j.s.SampleEvent: List of sample_variables:
[]
2024-03-11 21:31:49,051 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-casutg-2.10.jar with filter
ExtendsClassFilter [parents=[i
2024-03-11 21:31:49,072 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/di-kafkameter-1.2.jar with filter
ExtendsClassFilter [parents=[interface
2024-03-11 21:31:49,140 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-httpraw-0.1.jar with filter
ExtendsClassFilter [parents=[i
2024-03-11 21:31:49,181 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-udp-0.4.jar with filter
ExtendsClassFilter [parents=[inter
2024-03-11 21:31:49,187 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-tst-2.5.jar with filter
ExtendsClassFilter [parents=[inter
2024-03-11 21:31:49,237 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-autostop-0.1.jar with filter
ExtendsClassFilter [parents=[
2024-03-11 21:31:49,241 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-prmctl-0.4.jar with filter
ExtendsClassFilter [parents=[in
2024-03-11 21:31:49,244 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-functions-2.1.jar with
filter ExtendsClassFilter [parents=
2024-03-11 21:31:49,251 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/di-extended-csv-2.1.1-sre.jar with filter
ExtendsClassFilter [parents=[in
2024-03-11 21:31:49,257 INFO o.a.j.r.ClassFinder: Will scan jar
/jmeter/apache-jmeter-5.6.3/lib/ext/jmeter-plugins-csl-0.1.jar with filter
ExtendsClassFilter [parents=[inter
2024-03-11 21:31:49,867 ERROR o.a.j.s.RemoteListenerWrapper:
testStarted(host) on 10.240.0.171
java.rmi.ConnectIOException: Exception creating connection to: 10.240.0.117;
nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or
directory)
at
java.rmi/sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:635)
~[?:?]
at
java.rmi/sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:209)
~[?:?]
at
java.rmi/sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:196)
~[?:?]
at java.rmi/sun.rmi.server.UnicastRef.invoke(UnicastRef.java:132) ~[?:?]
at
java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:217)
~[?:?]
at
java.rmi/java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:162)
~[?:?]
at com.sun.proxy.$Proxy19.testStarted(Unknown Source) ~[?:?]
at
org.apache.jmeter.samplers.RemoteListenerWrapper.testStarted(RemoteListenerWrapper.java:78)
[ApacheJMeter_core.jar:5.6.3]
at
org.apache.jmeter.engine.StandardJMeterEngine.notifyTestListenersOfStart(StandardJMeterEngine.java:249)
[ApacheJMeter_core.jar:5.6.3]
at
org.apache.jmeter.engine.StandardJMeterEngine.run(StandardJMeterEngine.java:432)
[ApacheJMeter_core.jar:5.6.3]
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[?:?]
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[?:?]
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[?:?]
at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
```
### Steps to reproduce the problem
- worker startup command:
`JVM_ARGS="-Dsun.lang.ClassLoader.allowArraySyntax=true"
jmeter/apache-jmeter-5.6.3/bin/jmeter-server -p
/configz/jmeter-user-props.properties -Jserver.rmi.ssl.disable=false
-Dserver.rmi.localport=50000 -Dserver_port=1099
-Jserver.rmi.ssl.keystore.file=/secrets/rmi_keystore.jks`
- start a test with a basic test plan that doesn't use any plugins (ex:
JSR223 sampler that run log.info messages)
### JMeter Version
5.6.3
### Java Version
11.0.22
### OS Version
Linux [5.15.0-1057-azure]
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]