MQTT streaming: Tolerate DUP PUBLISH messages on first connecting #1436
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.
It is quite possible that a client can receive a
PUBLISH
message immediately on connection and before a subscription occurs given the prior establishment of a server-side session. In this case, thePUBLISH
message will often have theDUP
flag set. Prior to this PR, theDUP
flag would cause a packet router failure given that the routing decision was being performed out of step with where the routing state is managed. This PR moves that routing logic to the correct place.A new test has also been added for the use-case described above along with existing coverage validating the
DUP
processing.