RATIS-2008. Follower should recognize candidate if the candidate is the same peer as the current valid leader by ivandika3 · Pull Request #1024 · apache/ratis
What changes were proposed in this pull request?
During pre-vote, some follower reject the PRE_VOTE request from a candidate although the candidate has the same peer ID as the current leader.
2024-01-18 13:44:50,123 [grpc-default-executor-100] INFO org.apache.ratis.server.impl.VoteContext: e46cc30b-13ca-4778-b856-e84b0677493d@group-059247EC8137-FOLLOWER: reject PRE_VOTE from c7e3fa47-df62-4883-8d6e-50c3b6a9b94c: this server is a follower and still has a valid leader c7e3fa47-df62-4883-8d6e-50c3b6a9b94c
It might be a good idea to add another check so that if the candidate has the same peer ID as the follower's current recognized leader, we approve the PRE_VOTE request.
Note: The optimization might be marginal since leader is only valid after min.rpc.timeout (150ms). Afterwards, the follower should recognize the candidate.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/RATIS-2008
How was this patch tested?
Existing tests.