Thanks for the feedback Jason! 1. I might have missed it in the KIP, but could you clarify what happens > when a pre-vote fails (i.e. a majority of voters reject the potential > candidacy)? The transition descriptions only mention what happens if the > prospective leader learns of a higher epoch.
I've updated the transition description for "Prospective" to cover this. The behavior is also covered under "Proposed Changes" where I mention "When a server receives VoteResponses, it will follow it up with another VoteRequest with PreVote set to either true (send another Pre-Vote) or false (send a standard vote)" - basically the server will send another Pre-Vote request (after some backoff). 2. Do you think the pretend epoch bump is necessary? Would it be simpler to > change the prevote acceptance check to assert a greater than or equal > epoch? > My thought process was that sending the "desired" next epoch would mean we could borrow much of the `handleVoteRequest` logic for accepting/rejecting Pre-Votes. The meaning of the `CandidateEpoch` field (I need to rename that field, for now I'll call it "ProposedEpoch") would also remain pretty much the same for both the Pre-Vote and standard vote case - "The bumped epoch of the prospective/candidate sending the request". I do see how it could be confusing that the Pre-Vote request includes a bumped epoch when in actuality there is no epoch bump. I've changed the VoteRequest json a bit in the KIP, let me know what you think. On Mon, Nov 27, 2023 at 1:40 PM Jason Gustafson <ja...@confluent.io.invalid> wrote: > Hey Alyssa, > > Thanks for the KIP! I have a couple questions: > > 1. I might have missed it in the KIP, but could you clarify what happens > when a pre-vote fails (i.e. a majority of voters reject the potential > candidacy)? The transition descriptions only mention what happens if the > prospective leader learns of a higher epoch. > 2. Do you think the pretend epoch bump is necessary? Would it be simpler to > change the prevote acceptance check to assert a greater than or equal > epoch? > > Best, > Jason > > > On Wed, Nov 22, 2023 at 11:51 AM Alyssa Huang <ahu...@confluent.io.invalid > > > wrote: > > > Hey folks, > > > > Starting a discussion thread for Pre-Vote design. Appreciate your > comments > > in advance! > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-996%3A+Pre-Vote > > > > Best, > > Alyssa > > >