eclipse-paho / eclipse-paho/paho.mqtt.java
MQTT client waits for ACK after publishing with QoS 0
- Dominant language
- Java
- Stars
- 2.3k
- Forks
- 919
- PR merge metrics
- No merged PRs in 30d
Description
- [x] Bug exists Release Version 1.1.0 ( Master Branch)
- [x] Bug exists in Snapshot Version 1.1.1-SNAPSHOT (Develop Branch)
MQTT client waits for ACK even when publishing a message with QoS 0, but the broker does not send any ACK (as expected), so the call of the publish() method will block until timeout.
Code:
logger.info("respMessage.getQos()=" + respMessage.getQos());
getClient().publish(responseTopic, respMessage);
Log:
20:13:22,056 INFO [hu.alerant.xsenso.server.iotregapp.mqtt.sublisteners.RequestListener] (MQTT Call: regapp1) respMessage.getQos()=0
20:13:32,062 ERROR [hu.alerant.xsenso.server.iotregapp.mqtt.sublisteners.RequestListener] (MQTT Call: regapp1) Error while sending response: Timed out waiting for a response from the server (32000)
20:13:32,064 ERROR [stderr] (MQTT Call: regapp1) Timed out waiting for a response from the server (32000)
20:13:32,064 ERROR [stderr] (MQTT Call: regapp1) at org.eclipse.paho.client.mqttv3.internal.Token.waitForCompletion(Token.java:112)
20:13:32,064 ERROR [stderr] (MQTT Call: regapp1) at org.eclipse.paho.client.mqttv3.MqttToken.waitForCompletion(MqttToken.java:67)
20:13:32,064 ERROR [stderr] (MQTT Call: regapp1) at org.eclipse.paho.client.mqttv3.MqttClient.publish(MqttClient.java:399)
20:13:32,064 ERROR [stderr] (MQTT Call: regapp1) at hu.alerant.xsenso.server.iotregapp.mqtt.sublisteners.RequestListener.messageArrived(RequestListener.java:125)
20:13:32,065 ERROR [stderr] (MQTT Call: regapp1) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.deliverMessage(CommsCallback.java:467)
20:13:32,065 ERROR [stderr] (MQTT Call: regapp1) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.handleMessage(CommsCallback.java:379)
20:13:32,065 ERROR [stderr] (MQTT Call: regapp1) at org.eclipse.paho.client.mqttv3.internal.CommsCallback.run(CommsCallback.java:183)
20:13:32,065 ERROR [stderr] (MQTT Call: regapp1) at java.lang.Thread.run(Thread.java:745)
Contributor guide
Assessment
This issue has not been assessed yet.