Server does't push Qos 1 messages to client after client reconnect
Bug #890724 reported by
David Huang
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mosquitto |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I'm using sever version 0.13 and wmqtt.jar library. Below is the re-produce steps:
1) client connect to server and subscribe one topic using clean_state=false and Qos=1
2) Make the client lost the connection until the server side disconnecting by timeout.
3) publish some messages to the topic in the step 1).
4) Re-connect the client to the server with the same subscribe in step 1)
5) Client should receive the messages in the step 3) immediately after the connection. In fact server will not send the missed messages to the re-connected client except publishing a new message on this topic.
description: | updated |
Changed in mosquitto: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I don't see this problem myself. Could you check a few things?
Firstly, setting clean_session=false will only work if you are using the same client id when you reconnect. I'm not familiar with wmqtt.jar but if it doesn't require you to specify your own client id it may be generating a random (different) one when you reconnect.
The other thing to check is that the messages being published are also set QoS=1. If they have QoS=0 they will still be discarded even though your subscription has QoS=1.