-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
83686: kvserver: allow voter demoting to get a lease, in case there's an incoming voter r=shralex a=shralex Fixes #83687. It is possible that we've entered a joint config where the leaseholder is being replaced with an incoming voter. We try to transfer the lease away, but this fails. In this case, we need the demoted voter to re-aquire the lease, as it might be an epoch based lease, that doesn't expire. Otherwise we might be stuck without anyone else getting the lease (the original leaseholder will be in the PROSCRIBED state, repeatedly trying to re-aquire the lease, but will fail since its a VOTER_DEMOTING_LEARNER). Release note (bug fix): Fixes a critical bug (#83687) introduced in 22.1.0 where failure to transfer a lease in the joint config may result in range unavailability. The fix allows the original leaseholder to re-aquire the lease so that lease transfer can be retried. Co-authored-by: shralex <[email protected]>
- Loading branch information
Showing
11 changed files
with
331 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.