mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
raft: remove index field in msg voteResp
This commit is contained in:
parent
86473d8a27
commit
adefd83855
@ -430,7 +430,7 @@ func stepLeader(r *raft, m pb.Message) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case msgVote:
|
case msgVote:
|
||||||
r.send(pb.Message{To: m.From, Type: msgVoteResp, Index: -1, Denied: true})
|
r.send(pb.Message{To: m.From, Type: msgVoteResp, Denied: true})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -445,7 +445,7 @@ func stepCandidate(r *raft, m pb.Message) {
|
|||||||
r.becomeFollower(m.Term, m.From)
|
r.becomeFollower(m.Term, m.From)
|
||||||
r.handleSnapshot(m)
|
r.handleSnapshot(m)
|
||||||
case msgVote:
|
case msgVote:
|
||||||
r.send(pb.Message{To: m.From, Type: msgVoteResp, Index: -1, Denied: true})
|
r.send(pb.Message{To: m.From, Type: msgVoteResp, Denied: true})
|
||||||
case msgVoteResp:
|
case msgVoteResp:
|
||||||
gr := r.poll(m.From, !m.Denied)
|
gr := r.poll(m.From, !m.Denied)
|
||||||
switch r.q() {
|
switch r.q() {
|
||||||
@ -477,9 +477,9 @@ func stepFollower(r *raft, m pb.Message) {
|
|||||||
if (r.Vote == None || r.Vote == m.From) && r.raftLog.isUpToDate(m.Index, m.LogTerm) {
|
if (r.Vote == None || r.Vote == m.From) && r.raftLog.isUpToDate(m.Index, m.LogTerm) {
|
||||||
r.elapsed = 0
|
r.elapsed = 0
|
||||||
r.Vote = m.From
|
r.Vote = m.From
|
||||||
r.send(pb.Message{To: m.From, Type: msgVoteResp, Index: r.raftLog.lastIndex()})
|
r.send(pb.Message{To: m.From, Type: msgVoteResp})
|
||||||
} else {
|
} else {
|
||||||
r.send(pb.Message{To: m.From, Type: msgVoteResp, Index: -1, Denied: true})
|
r.send(pb.Message{To: m.From, Type: msgVoteResp, Denied: true})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -535,33 +535,33 @@ func TestRecvMsgVote(t *testing.T) {
|
|||||||
state StateType
|
state StateType
|
||||||
i, term int64
|
i, term int64
|
||||||
voteFor int64
|
voteFor int64
|
||||||
w int64
|
wdenied bool
|
||||||
}{
|
}{
|
||||||
{StateFollower, 0, 0, None, -1},
|
{StateFollower, 0, 0, None, true},
|
||||||
{StateFollower, 0, 1, None, -1},
|
{StateFollower, 0, 1, None, true},
|
||||||
{StateFollower, 0, 2, None, -1},
|
{StateFollower, 0, 2, None, true},
|
||||||
{StateFollower, 0, 3, None, 2},
|
{StateFollower, 0, 3, None, false},
|
||||||
|
|
||||||
{StateFollower, 1, 0, None, -1},
|
{StateFollower, 1, 0, None, true},
|
||||||
{StateFollower, 1, 1, None, -1},
|
{StateFollower, 1, 1, None, true},
|
||||||
{StateFollower, 1, 2, None, -1},
|
{StateFollower, 1, 2, None, true},
|
||||||
{StateFollower, 1, 3, None, 2},
|
{StateFollower, 1, 3, None, false},
|
||||||
|
|
||||||
{StateFollower, 2, 0, None, -1},
|
{StateFollower, 2, 0, None, true},
|
||||||
{StateFollower, 2, 1, None, -1},
|
{StateFollower, 2, 1, None, true},
|
||||||
{StateFollower, 2, 2, None, 2},
|
{StateFollower, 2, 2, None, false},
|
||||||
{StateFollower, 2, 3, None, 2},
|
{StateFollower, 2, 3, None, false},
|
||||||
|
|
||||||
{StateFollower, 3, 0, None, -1},
|
{StateFollower, 3, 0, None, true},
|
||||||
{StateFollower, 3, 1, None, -1},
|
{StateFollower, 3, 1, None, true},
|
||||||
{StateFollower, 3, 2, None, 2},
|
{StateFollower, 3, 2, None, false},
|
||||||
{StateFollower, 3, 3, None, 2},
|
{StateFollower, 3, 3, None, false},
|
||||||
|
|
||||||
{StateFollower, 3, 2, 2, 2},
|
{StateFollower, 3, 2, 2, false},
|
||||||
{StateFollower, 3, 2, 1, -1},
|
{StateFollower, 3, 2, 1, true},
|
||||||
|
|
||||||
{StateLeader, 3, 3, 1, -1},
|
{StateLeader, 3, 3, 1, true},
|
||||||
{StateCandidate, 3, 3, 1, -1},
|
{StateCandidate, 3, 3, 1, true},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, tt := range tests {
|
for i, tt := range tests {
|
||||||
@ -582,11 +582,11 @@ func TestRecvMsgVote(t *testing.T) {
|
|||||||
|
|
||||||
msgs := sm.ReadMessages()
|
msgs := sm.ReadMessages()
|
||||||
if g := len(msgs); g != 1 {
|
if g := len(msgs); g != 1 {
|
||||||
t.Errorf("#%d: len(msgs) = %d, want 1", i, g)
|
t.Fatalf("#%d: len(msgs) = %d, want 1", i, g)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if g := msgs[0].Index; g != tt.w {
|
if g := msgs[0].Denied; g != tt.wdenied {
|
||||||
t.Errorf("#%d, m.Index = %d, want %d", i, g, tt.w)
|
t.Errorf("#%d, m.Index = %d, want %d", i, g, tt.wdenied)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user