Skip to content

[FIXED] Stream desync after out-of-order SkipMsg#7400

Merged
neilalexander merged 1 commit intomainfrom
maurice/skip-msg-desync
Oct 7, 2025
Merged

[FIXED] Stream desync after out-of-order SkipMsg#7400
neilalexander merged 1 commit intomainfrom
maurice/skip-msg-desync

Conversation

@MauriceVanVeen
Copy link
Copy Markdown
Member

A stream replica could desync if it received an out-of-order SkipMsg. It would mark a message as skipped first, and only after check that the skipped sequence was out-of-order. This obviously is the wrong way around, allowing to delete a message that shouldn't be. This PR fixes that by ensuring the SkipMsg is only applied if it's in-order. This was already the case for SkipMsgs and writing normal messages.

Signed-off-by: Maurice van Veen github@mauricevanveen.com

Signed-off-by: Maurice van Veen <github@mauricevanveen.com>
@MauriceVanVeen MauriceVanVeen requested a review from a team as a code owner October 6, 2025 19:26
Copy link
Copy Markdown
Member

@neilalexander neilalexander left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@neilalexander neilalexander merged commit 9619844 into main Oct 7, 2025
109 of 114 checks passed
@neilalexander neilalexander deleted the maurice/skip-msg-desync branch October 7, 2025 08:17
neilalexander added a commit that referenced this pull request Oct 10, 2025
Includes the following:

- #7400
- #7399
- #7401
- #7402
- #7404
- #7405
- #7409
- #7413

Signed-off-by: Neil Twigg <neil@nats.io>
neilalexander added a commit that referenced this pull request Oct 28, 2025
Includes the following:

- #7380
- #7384
- #7385
- #7388
- #7395
- #7400
- #7399
- #7401
- #7402
- #7423
- #7424
- #7411
- #7428
- #7429
- #7431
- #7435
- #7433
- #7443
- #7455
- #7465
- #7466
- #7460
- #7484
- #7479

Signed-off-by: Neil Twigg <neil@nats.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants