From f4b46ff2cb0e940ade764c4d9899fd99e52d26b7 Mon Sep 17 00:00:00 2001 From: 1797818494 <1797818494@qq.com> Date: Sat, 3 Feb 2024 12:04:21 +0800 Subject: [PATCH] improve the lease --- raft.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raft.go b/raft.go index 85b066ec..6ab5ae98 100644 --- a/raft.go +++ b/raft.go @@ -1062,7 +1062,7 @@ func (r *raft) Step(m pb.Message) error { case m.Term > r.Term: if m.Type == pb.MsgVote || m.Type == pb.MsgPreVote { force := bytes.Equal(m.Context, []byte(campaignTransfer)) - inLease := r.checkQuorum && r.lead != None && r.electionElapsed < r.electionTimeout + inLease := r.checkQuorum && r.lead != None && r.electionElapsed < r.electionTimeout && r.Lead != m.From if !force && inLease { // If a server receives a RequestVote request within the minimum election timeout // of hearing from a current leader, it does not update its term or grant its vote