Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • true if they are not a Follower and the epoch and offsets in the Pre-Vote request satisfy the same requirements as a standard vote
  • false if they are a Follower or the epoch and end offsets in the Pre-Vote request do not satisfy the requirements

Compatibility

We can gate currently use ApiVersions to gate new/newer versions of Raft APIs from being used before all servers can support it. This is useful in the upgrade scenario for Pre-Vote with a new VoteRequest and VoteResponse version. Instead of sending - if a server attempts to send out a Pre-Vote , a request while any other server in the quorum does not understand it, it will get back an UnsupportedVersionException from the network client and knows to default back to the old behavior. Specifically, the server will transition from Prospective immediately to Candidate if it knows of other servers which do not support Pre-Vote yet. This will result in the server sending standard votes which are  state, and will send standard votes instead which can be understood by servers on older software versions. 

...