-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
storage: reproposals after snapshot may swallow necessary ambiguous result #31935
Comments
Tobi I tried to do something but I don't quite understand the code that does the dubious overwrite. Mind if I assign you here? |
Sure, I'll take a look. |
This still seems real, right? We still appear to prioritize |
Yes, still a problem. |
I poked at this and it'd be really easy to fix but then hard to test, so at that point we'll want to pull out the reason state changes into something that can stomach unit testing. But that takes a bit of work. |
We have marked this issue as stale because it has been inactive for |
See #30792 (comment) for full details.
When we call
refreshProposalsLocked
, we pass in arefreshReason
. If this reason indicates that a snapshot was applied, we return ambiguous results to clients waiting on those proposals (since they might've applied through a snapshot; we don't know).Unfortunately, we sometimes override this
refreshReason
at the caller inhandleRaftReady
, so that in principle ambiguous results could be omitted when they are necessary.Jira issue: CRDB-4769
Epic CRDB-39898
The text was updated successfully, but these errors were encountered: