Skip to content
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

REP-5318 Retry on change stream failures. #52

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

FGasper
Copy link
Collaborator

@FGasper FGasper commented Nov 22, 2024

REVIEW NOTE

It probably makes sense to review this PR’s 2 commits separately.


This is necessary for testing migration-verifier’s change stream in mongosync’s nondeterministic tests. It entails a small refactor of the change stream code so that both the change stream’s creation and iteration happen under a retryer.

Additionally, this makes GetNewClusterTime() return an actual new cluster time rather than returning the current one. This simplifies reasoning about the change stream’s handling of the writesOff timestamp.

@FGasper FGasper marked this pull request as ready for review November 23, 2024 01:27
@FGasper FGasper force-pushed the felipe_retry_change_stream branch 3 times, most recently from 8231711 to 03853c7 Compare November 23, 2024 22:48
@FGasper FGasper requested a review from tdq45gj November 25, 2024 03:31
@FGasper FGasper changed the title Retry on change stream failures. REP-5318 Retry on change stream failures. Nov 25, 2024
Previously this function actually returned the most recent cluster
time rather than creating a new cluster time. This changeset makes it
now create a new time instead. This simplifies the change stream’s
handling of the writesOff timestamp because the writesOff timestamp is
separate from any change event.
This entails a small refactor of the change stream code so that the
change stream’s creation and iteration both happen under a retryer.
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.

1 participant