Skip to content

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.

2 participants