Summary: | JMeter client(OS enabled IPv4 & IPv6) couldn't control both IPv4 only JMeter server and IPv6 only JMeter server at same time. | ||
---|---|---|---|
Product: | JMeter - Now in Github | Reporter: | Eagle Liu <liu.xp2003> |
Component: | Main | Assignee: | JMeter issues mailing list <issues> |
Status: | NEW --- | ||
Severity: | enhancement | CC: | dzmitry.kashlach, p.mouawad, radhika.chengappa |
Priority: | P2 | ||
Version: | 2.6 | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All |
Description
Eagle Liu
2012-03-27 05:14:47 UTC
Hello, Try adding: preferIPv4Stack=true To system.properties file in bin folder on jmeter jvms Please leave a post in this issue if this works for you Regards Philippe (In reply to comment #1) > Hello, > Try adding: > preferIPv4Stack=true > To system.properties file in bin folder on jmeter jvms > > Please leave a post in this issue if this works for you > > Regards > Philippe After added the parameter[preferIPv4Stack=true ] into JMeter client system.properties. It could control IPv4 only JMeter Server but it couldn't control IPv6 only JMeter server. 2012/03/27 07:22:02 INFO - jmeter.gui.action.RemoteStart: Initialising remote engine: w2k8-win08-2 2012/03/27 07:22:05 ERROR - jmeter.gui.action.RemoteStart: Failed to initialise remote engine java.rmi.UnknownHostException: Unknown host: w2k8-win08-2; nested exception is: java.net.UnknownHostException: w2k8-win08-2 at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:598) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at java.rmi.Naming.lookup(Naming.java:84) at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:56) at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:69) at org.apache.jmeter.gui.action.RemoteStart.doRemoteInit(RemoteStart.java:176) at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:79) at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:80) at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:41) at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:62) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:607) at java.awt.EventQueue$1.run(EventQueue.java:605) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:616) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.net.UnknownHostException: w2k8-win08-2 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:189) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595) ... 26 more 2012/03/27 07:22:14 INFO - jmeter.gui.action.RemoteStart: Initialising remote engine: vm3113 2012/03/27 07:22:15 INFO - jmeter.engine.ClientJMeterEngine: running clientengine run method 2012/03/27 07:22:15 INFO - jmeter.samplers.StandardSampleSender: Using StandardSampleSender for this test run 2012/03/27 07:22:15 INFO - jmeter.engine.ClientJMeterEngine: sent test to vm3113 basedir='.' 2012/03/27 07:22:15 INFO - jmeter.engine.ClientJMeterEngine: sent run command to vm3113 2012/03/27 07:22:15 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(true,vm3113) 2012/03/27 07:22:15 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,vm3113) Put this on both sides. Regards Philippe (In reply to comment #4) > Put this on both sides. > Regards > Philippe I have tried both too. when using preferIPv4Stack=true, I got following result. JMeter client(OS enabled IPv4 & IPv6) could control JMeter server (OS only enabled IPv4) For JMeter server (OS only enabled IPv6), it got following ERROR when start JMeter server. 2012/03/27 08:19:36 INFO - jmeter.JMeter: PWD =D:\apache-jmeter-2.6\bin 2012/03/27 08:19:36 INFO - jmeter.JMeter: IP: 127.0.0.1 Name: w2k8-win08-2 FullName: w2k8-win08-2 2012/03/27 08:19:36 INFO - jmeter.engine.RemoteJMeterEngineImpl: Starting backing engine on 1099 2012/03/27 08:19:36 INFO - jmeter.engine.RemoteJMeterEngineImpl: IP address=127.0.0.1 2012/03/27 08:19:36 ERROR - jmeter.JMeter: Giving up, as server failed with: java.rmi.RemoteException: Cannot start. w2k8-win08-2 is a loopback address. at org.apache.jmeter.engine.RemoteJMeterEngineImpl.init(RemoteJMeterEngineImpl.java:99) at org.apache.jmeter.engine.RemoteJMeterEngineImpl.startServer(RemoteJMeterEngineImpl.java:78) at org.apache.jmeter.JMeter.start(JMeter.java:350) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.jmeter.NewDriver.main(NewDriver.java:216) 2012/03/27 08:19:36 FATAL - jmeter.JMeter: An error occurred: java.rmi.RemoteException: Cannot start. w2k8-win08-2 is a loopback address. at org.apache.jmeter.engine.RemoteJMeterEngineImpl.init(RemoteJMeterEngineImpl.java:99) at org.apache.jmeter.engine.RemoteJMeterEngineImpl.startServer(RemoteJMeterEngineImpl.java:78) at org.apache.jmeter.JMeter.start(JMeter.java:350) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.jmeter.NewDriver.main(NewDriver.java:216) Issue is due to the fact that address is a Loopback one. Try defining java.rmi.server.hostname in system.properties to a host that is not a Loopback. (In reply to comment #6) > Issue is due to the fact that address is a Loopback one. > Try defining java.rmi.server.hostname in system.properties to a host that is > not a Loopback. After defined java.rmi.server.hostname on IPv6 only server, The JMeter server could be started. Unfortunately, JMeter client(enabled IPv6 & IPv4) couldn't control it and got following error. 2012/03/27 09:57:26 INFO - jmeter.gui.action.RemoteStart: Initialising remote engine: w2k8-win08-2 2012/03/27 09:57:28 ERROR - jmeter.gui.action.RemoteStart: Failed to initialise remote engine java.rmi.UnknownHostException: Unknown host: w2k8-win08-2; nested exception is: java.net.UnknownHostException: w2k8-win08-2 at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:598) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322) at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at java.rmi.Naming.lookup(Naming.java:84) at org.apache.jmeter.engine.ClientJMeterEngine.getEngine(ClientJMeterEngine.java:56) at org.apache.jmeter.engine.ClientJMeterEngine.<init>(ClientJMeterEngine.java:69) at org.apache.jmeter.gui.action.RemoteStart.doRemoteInit(RemoteStart.java:176) at org.apache.jmeter.gui.action.RemoteStart.doAction(RemoteStart.java:79) at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:80) at org.apache.jmeter.gui.action.ActionRouter.access$000(ActionRouter.java:41) at org.apache.jmeter.gui.action.ActionRouter$1.run(ActionRouter.java:62) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:646) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:607) at java.awt.EventQueue$1.run(EventQueue.java:605) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:616) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.net.UnknownHostException: w2k8-win08-2 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:189) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595) ... 26 more According to above result, can we get following conclusion? JMeter client(OS enabled IPv4 & IPv6) couldn't control IPv4 JMeter server (OS only enabled IPv4) and IPv6 JMeter server (OS only enabled IPv6) at same time. If so, could JMeter support it later? No we can't. I suggest you switch to Mailing list. What is W2k8-win08-2 ? Client or server ? CAN you detail which configuration you setup and what thé other jvm host name ? Regards Philippe (In reply to comment #9) > No we can't. I meant we can't conclude That is doesn't work > I suggest you switch to Mailing list. > What is W2k8-win08-2 ? Client or server ? > CAN you detail which configuration you setup and what thé other jvm host name ? > > Regards > Philippe (In reply to comment #9) > No we can't. > I suggest you switch to Mailing list. > What is W2k8-win08-2 ? Client or server ? > CAN you detail which configuration you setup and what thé other jvm host name ? > > Regards > Philippe W2k8-win08-2 is another JMeter server that is only enabled IPv6 in OS network. JMeter Server[W2k8-win08-2]: OS: Windows 2008 Network: IPv6 IPv6 Address. . . . . . . . . . . : 2001:db8:cafe:67:457f:2323:dcc7:b4e7 IPv6 Address. . . . . . . . . . . : 2001:db8:cafe:67:a111:a111:a111:ab0 Link-local IPv6 Address . . . . . : fe80::457f:2323:dcc7:b4e7%11 Default Gateway . . . . . . . . . : fe80::222:55ff:fe18:980%11 In This case, we have following three machines. JMeter client [w2k8-1-1]: Windows2008 enabled IPv4 & IPv6 JMeter Server [vm3113]: Windows 2003 only enabled IPv4 JMeter Server[W2k8-win08-2]: Windows 2008 only enabled IPv6 If I use all default configration in JMeter 2.6, I got following result: JMeter client [w2k8-1-1] could control JMeter Server[W2k8-win08-2] and it couldn't control JMeter Server [vm3113]. And I found ERROR from vm3113 log.[vm3113 is not have IPv6 adapter. Thus, it don't know the JMeter client IPv6 address.] testStarted(host) java.rmi.ConnectException: Connection refused to host: 2001:db8:cafe:67:a111:a111:a111:1f34; If I set preferIPv4Stack=true on three JMeter machines and set java.rmi.server.hostname=W2k8-win08-2 on W2k8-win08-2, I got following result: JMeter client and JMeter server could be started. JMeter client [w2k8-1-1] could control JMeter Server[vm3113] and it couldn't control JMeter Server [W2k8-win08-2]. And I found ERROR from JMeter client [w2k8-1-1] log.[JMeter client use IPv4 at this time and w2k8-win08-2 machine don't have IPv4 hostname.] 2012/03/27 09:57:28 ERROR - jmeter.gui.action.RemoteStart: Failed to initialise remote engine java.rmi.UnknownHostException: Unknown host: w2k8-win08-2; Thanks for précisions. So i think issue comes from the 3 combinations. So preferipv4 does not work as there is à machine with only ipv6. So title of issue is wrong . What should be done is to make thé client tell thé server which ip to use giving either an ipv4 or ipv6. I suggest still you ask à question on Mailing list maybe some body has done this and rename issue to clarify it and finallly give what's in remote_hosts property, Thanks (In reply to comment #12) > Thanks for précisions. > So i think issue comes from the 3 combinations. So preferipv4 does not work as > there is à machine with only ipv6. > So title of issue is wrong . > What should be done is to make thé client tell thé server which ip to use > giving either an ipv4 or ipv6. > I suggest still you ask à question on Mailing list maybe some body has done > this and rename issue to clarify it and finallly give what's in remote_hosts > property, > > Thanks Thank you for your advice! I have update title of the bug. Let me ask the question on mailing list later. I used hostname in remote hosts list. remote_hosts=vm3113,w2k8-win08-2 This issue has been migrated to GitHub: https://github.com/apache/jmeter/issues/2797 |