[FIXED] Backport retry mset.ackMsg if removal fails #6519
Merged
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.
Partial backport of #6140 for v2.10.26+
mset.ackMsg
could fail if the clustered stream is behind on applies on this server, but the consumer's ack floor is ahead. In this casecheckStateForInterestStream
would skip its check floor ahead, never retrying to ack/remove this message again. Which would leave messages around, not being removed even though they could be.This PR is a partial backport, still doing
mset.ackMsg
for each individual server instead of via message delete proposals for clustered streams, but allowing to retry if a removal should be done.Signed-off-by: Maurice van Veen github@mauricevanveen.com