Alyssa Huang created KAFKA-19319:
------------------------------------
Summary: Don't reset election timeout for prospective on
transition to prospectiveVoted
Key: KAFKA-19319
URL: https://issues.apache.org/jira/browse/KAFKA-19319
Project: Kafka
Issue Type: Improvement
Reporter: Alyssa Huang
The original argument is that we reset the election timeout after a node grants
a vote to another candidate to prevent the following scenario:
T1 - unattached A receives vote request from candidate B in epoch X
T2 - unattached A grants vote for candidate B in epoch X
T3 - unattached A's election timer expires, transitions to candidate with
bumped epoch X + 1 and disrupts the chance of candidate B winning election in
epoch X
As part of Pre-Vote, we copied this logic for when unattached/prospective
grants a vote to a candidate - but we can see from the above example if node A
was in unattached/prospective state instead, on expiry of the election timeout
it would just transition to a state with the same epoch which is
non-disruptive.
We can remove resetting the election timeout (and fix corresponding tests) for
both the unattachedAddVotedState and prospectiveAddVotedState methods.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)