eclipse-paho / eclipse-paho/paho.mqtt.java

MQTT client waits for ACK after publishing with QoS 0

Open
#314 5 comments 0 reactions 0 assignees View on GitHub
triage
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.