-
Notifications
You must be signed in to change notification settings - Fork 818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MQTT durable subscription exception #455
Comments
@OleksandrBerezianskyi you missed the publisher client part. I mean the error here relates to the fact that |
moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system.
moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system.
- moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. - moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system.
- moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. - moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system.
- moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. - moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system.
moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system. Since the queue can not contain PubRelMessages, drainQueueToConnection can be simplified.
moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system. Since the queue can not contain PubRelMessages, drainQueueToConnection can be simplified.
moquette-io#455: resendInflightNotAcked() assumed all messages in the inflightWindow are PublishedMessage, but they can also be PubRelMarker. This caused a ClassCastException. moquette-io#587: When sending PubRelMessages, never put them on the queue, since this deadlocks the system. Since the queue can not contain PubRelMessages, drainQueueToConnection can be simplified.
Expected behavior
After reconnect of the same client with clean_session = false and subscribing to the same topic with QoS = 1 all missed messages should appear
Actual behavior
Exception is thrown while trying to resend unacked message:
Steps to reproduce
Minimal yet complete reproducer code (or URL to code) or complete log file
Client using python 3.7
Moquette MQTT version
moquette-broker-0.12.1.jar
JVM version (e.g.
java -version
)OS version (e.g.
uname -a
)The text was updated successfully, but these errors were encountered: