Handle membership in the client on split brain #17148
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It could be the case that when split brain occurs the member list
version that client remembers is already bigger than the the
half that client is connected to. In this case, client can not
apply the member list because it has an older version. But
in fact, it should have been applied, otherwise client get
stuck with an old member-list.
As a solution, we clear the member-list version everytime
we re-register the member list listener.
fixes #16855
backport of #17147
(cherry picked from commit 354e2cb)