-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Fix missing messages in streaming on CacheMissException #9309
base: main
Are you sure you want to change the base?
Conversation
// If the token is more recent than the last purged token, then we didn't lose anything. Start from the oldest message in cache | ||
cursor.State = CursorStates.Set; | ||
// If the token is more recent than the last purged token, then we didn't lose anything. Start from the oldest message in cache. | ||
// We use the state "Recovering" instead of "Set" to avoid to skip a message, since we are not pointing to the latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// We use the state "Recovering" instead of "Set" to avoid to skip a message, since we are not pointing to the latest | |
// We use the state "Recovering" instead of "Set" to avoid skipping a message, since we are not pointing to the latest |
@@ -265,7 +267,7 @@ private void SetCursor(Cursor cursor, StreamSequenceToken sequenceToken) | |||
/// <returns></returns> | |||
public bool TryGetNextMessage(object cursorObj, out IBatchContainer message) | |||
{ | |||
message = null; | |||
message = null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
message = null; | |
message = null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like an errant space, or my eyes are errant
Fix #9299 and #9023
When recovering from a
CacheMissException
, subscriber could miss messages if it happened during processing a handshake with the pulling agent.Microsoft Reviewers: Open in CodeFlow