[FIXED] MQTT: QoS2 subscription not getting messages after restart#7643
Merged
neilalexander merged 2 commits intomainfrom Dec 15, 2025
Merged
[FIXED] MQTT: QoS2 subscription not getting messages after restart#7643neilalexander merged 2 commits intomainfrom
neilalexander merged 2 commits intomainfrom
Conversation
a09fde7 to
e408a99
Compare
Member
Author
|
I made changes to the tests seeing some failures in other runs, but I am not sure these changes are correct. Will investigate further and update this PR when I get to the bottom of it. Switched to Draft in the meantime. |
When a QoS2 subscription was restarted, it would not receive any of the message persisted while offline or even new incoming messages. The reason was that when the subscription was started, the internal subscription on the "$MQTT_out" stream was started only once for a given session. Added a test that demonstrated the original issue and verifies the fix. Update some tests to prevent flapping Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
e408a99 to
c35e97b
Compare
Member
Author
|
@derekcollison Ok, ready for review. |
Restored the boolean to subscribe only once per session but clear it when session is reused on a new connect. Note that c.processSub() would not duplicate the subscription since that function would look for existing SID and found that it already exists. Still, added a test to make sure we have a single NATS subscription on the JS consumer's delivery subject. Signed-off-by: Ivan Kozlovic <ivan@synadia.com>
5d64683 to
6833ea2
Compare
Member
Author
|
@derekcollison Changes made, ready for review. |
neilalexander
added a commit
that referenced
this pull request
Dec 15, 2025
neilalexander
added a commit
that referenced
this pull request
Dec 18, 2025
Includes the following: - #7553 - #7555 - #7579 - #7578 - #7581 - #7585 - #7586 - #7588 - #7593 - #7594 - #7595 - #7596 - #7597 - #7598 - #7601 - #7604 - #7605 - #7610 - #7616 - #7614 - #7622 - #7619 - #7624 - #7625 - #7627 - #7636 - #7637 - #7643 - #7648 - #7634 - #7655 - #7656 Signed-off-by: Neil Twigg <neil@nats.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a QoS2 subscription was restarted, it would not receive any of the message persisted while offline or even new incoming messages.
The reason was that when the subscription was started, the internal subscription on the "$MQTT_out" stream was started only once for a given session.
Added a test that demonstrated the original issue and verifies the fix.
Update some tests to prevent flapping.
Signed-off-by: Ivan Kozlovic ivan@synadia.com