emqx / mqtt-jmeter

MQTT JMeter Plugin
https://www.emqx.com/en
Apache License 2.0
447 stars 193 forks source link

JMeter load test "stuck" when publisher fails to publish message #67

Open leonpros opened 5 years ago

leonpros commented 5 years ago

When creating a load on the broker (i.e Mosquitto broker), a message fails to be sent and the test is stuck until stopped manually Error message in logs:

ERROR o.a.j.JMeter: Uncaught exception: java.net.ProtocolException: Command from server contained an invalid message id: at org.fusesource.mqtt.client.CallbackConnection.completeRequest(CallbackConnection.java:799) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.mqtt.client.CallbackConnection.processFrame(CallbackConnection.java:824) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.mqtt.client.CallbackConnection.access$1700(CallbackConnection.java:73) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.mqtt.client.CallbackConnection$6.onTransportCommand(CallbackConnection.java:425) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.hawtdispatch.transport.TcpTransport.drainInbound(TcpTransport.java:713) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.hawtdispatch.transport.TcpTransport$6.run(TcpTransport.java:592) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.hawtdispatch.internal.NioDispatchSource$3.run(NioDispatchSource.java:209) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?] at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77) [mqtt-xmeter-1.15-jar-with-dependencies.jar:?]

Might be since a connection drops because of the load. After test is stopped manually, the existing connections are not disconnected and CPU usage spikes to 100% unless JMeter is closed.