-
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.
clusterversion: introduce rac2 cluster version gates
Introduce two new cluster version gates: ``` V24_3_UseRACV2WithV1EntryEncoding V24_3_UseRACV2Full ``` Upon a range leader first encountering `V24_3_UseRACV2WithV1EntryEncoding` via `handleRaftReadyRaftMuLocked`, it will begin a new term using the replication flow control v2 protocol, creating a `RangeController` but continue using the v1 entry encoding and raft still operating in push mode. Upon a range leader first encountering `V24_3_UseRACV2Full`, it will continue using the replication flow control v2 protocol, but will now switch to using the V2 entry encoding. Note that the necessary protocol migration at the leader, (base) => `V24_3_UseRACV2WithV1EntryEncoding` occurs before any other calls in `handleRaftReadyRaftMuLocked`. The two version gates are necessary to ensure there are never v2 encoded entries in the raft log while there is a possibility of a leader running v1. Resolves: #131102 Release note: None
- Loading branch information
Showing
3 changed files
with
13 additions
and
2 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