Skip to content

Conversation

@FGasper
Copy link
Collaborator

@FGasper FGasper commented Nov 3, 2025

Historically, the verifier blocked the enqueuing of rechecks while generating new recheck tasks. This slowed down the change stream because it couldn’t enqueue rechecks during that time.

There seems to be no reason why the change stream needs to be blocked while creating new tasks, though. This changeset removes the restriction. It also tweaks the generation-numbering so that the generation persisted with the recheck is the generation where the document will be rechecked rather than the generation where the recheck was enqueued.

The net effect here is that, with the change stream not blocked for several seconds between generations, higher throughput is possible.

@FGasper FGasper requested a review from tdq45gj November 4, 2025 00:59
@FGasper FGasper marked this pull request as ready for review November 4, 2025 00:59
Copy link
Collaborator

@tdq45gj tdq45gj left a comment

Choose a reason for hiding this comment

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

LGTM % one small request

generation++

eg, groupCtx := contextplus.ErrGroup(ctx)
eg.SetLimit(100)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Could you add a comment to explain the purpose of the limit?

@FGasper
Copy link
Collaborator Author

FGasper commented Nov 7, 2025

There were test failures in the past run, but they are unrelated & will be dealt with separately.

@FGasper FGasper merged commit c5053a4 into mongodb-labs:main Nov 7, 2025
194 of 196 checks passed
@FGasper FGasper deleted the REP-6735-allow-recheck-enqueue-during-recheck-task-gen branch November 7, 2025 21:50
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