Raft Leader选举,当候选人收到更高任期的voteRequest时,候选人应该怎么做?

问题描述

我知道,当候选人收到具有更高 Term 的心跳时,它将转换为新领导者的追随者。但是有一个案例 Raft 论文没有提到。

当候选人收到更高任期的投票请求时,候选人应该怎么做?

解决方法

如果 Candidate 收到一个任期高于自己的 RequestVote RPC,它应该转换为一个 Follower 并将其对该任期的投票授予请求它的节点(假设满足日志匹配属性并且没有其他 RequestVote具有相同或更高期限的 RPC)。