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

Unselectable flag race fix #1773

Merged
merged 1 commit into from
Jun 19, 2021
Merged

Unselectable flag race fix #1773

merged 1 commit into from
Jun 19, 2021

Conversation

NickCraver
Copy link
Collaborator

In short, we could get in a state where IsReplica could be true, but we couldn't use it because it was unselectable via this path, especially on a reconnect race. This caused failures in other Sentinel testing, specifically the NoConnectionAvailable variety on DemandMaster sanity check gets, because we had a replica, it was connected, but the flags said we couldn't use it. That should never be the case and this additional check at the flag set site ensures it.

In testing, it looked like this (local changes here are logging this condition):

image

In short, we could get in a state where `IsReplica` could be true, but we couldn't use it because it was unselectable via this path, especially on a reconnect race. This caused failures in other Sentinel testing, specifically the `NoConnectionAvailable` variety on `DemandMaster` sanity check gets, because we had a replica, it was connected, but the flags said we couldn't use it. That should _never_ be the case and this additional check at the flag set site ensures it.
@NickCraver NickCraver merged commit e61484c into main Jun 19, 2021
@NickCraver NickCraver deleted the craver/unselectable-fix branch June 19, 2021 18:22
NickCraver added a commit that referenced this pull request Jun 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant