diff --git a/raft/raft.go b/raft/raft.go index ec9ca1013..883f7aca4 100644 --- a/raft/raft.go +++ b/raft/raft.go @@ -378,7 +378,7 @@ func (r *raft) handleAppendEntries(m pb.Message) { if r.raftLog.maybeAppend(m.Index, m.LogTerm, m.Commit, m.Entries...) { r.send(pb.Message{To: m.From, Type: msgAppResp, Index: r.raftLog.lastIndex()}) } else { - r.send(pb.Message{To: m.From, Type: msgAppResp, Index: -1, Denied: true}) + r.send(pb.Message{To: m.From, Type: msgAppResp, Denied: true}) } } diff --git a/raft/raft_test.go b/raft/raft_test.go index 11beec0d7..f4d3ca4ed 100644 --- a/raft/raft_test.go +++ b/raft/raft_test.go @@ -484,22 +484,22 @@ func TestHandleMsgApp(t *testing.T) { m pb.Message wIndex int64 wCommit int64 - wAccept bool + wDenied bool }{ // Ensure 1 - {pb.Message{Type: msgApp, Term: 2, LogTerm: 3, Index: 2, Commit: 3}, 2, 0, false}, // previous log mismatch - {pb.Message{Type: msgApp, Term: 2, LogTerm: 3, Index: 3, Commit: 3}, 2, 0, false}, // previous log non-exist + {pb.Message{Type: msgApp, Term: 2, LogTerm: 3, Index: 2, Commit: 3}, 2, 0, true}, // previous log mismatch + {pb.Message{Type: msgApp, Term: 2, LogTerm: 3, Index: 3, Commit: 3}, 2, 0, true}, // previous log non-exist // Ensure 2 - {pb.Message{Type: msgApp, Term: 2, LogTerm: 1, Index: 1, Commit: 1}, 2, 1, true}, - {pb.Message{Type: msgApp, Term: 2, LogTerm: 0, Index: 0, Commit: 1, Entries: []pb.Entry{{Term: 2}}}, 1, 1, true}, - {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 3, Entries: []pb.Entry{{Term: 2}, {Term: 2}}}, 4, 3, true}, - {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 4, Entries: []pb.Entry{{Term: 2}}}, 3, 3, true}, - {pb.Message{Type: msgApp, Term: 2, LogTerm: 1, Index: 1, Commit: 4, Entries: []pb.Entry{{Term: 2}}}, 2, 2, true}, + {pb.Message{Type: msgApp, Term: 2, LogTerm: 1, Index: 1, Commit: 1}, 2, 1, false}, + {pb.Message{Type: msgApp, Term: 2, LogTerm: 0, Index: 0, Commit: 1, Entries: []pb.Entry{{Term: 2}}}, 1, 1, false}, + {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 3, Entries: []pb.Entry{{Term: 2}, {Term: 2}}}, 4, 3, false}, + {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 4, Entries: []pb.Entry{{Term: 2}}}, 3, 3, false}, + {pb.Message{Type: msgApp, Term: 2, LogTerm: 1, Index: 1, Commit: 4, Entries: []pb.Entry{{Term: 2}}}, 2, 2, false}, // Ensure 3 - {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 2}, 2, 2, true}, - {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 4}, 2, 2, true}, // commit upto min(commit, last) + {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 2}, 2, 2, false}, + {pb.Message{Type: msgApp, Term: 2, LogTerm: 2, Index: 2, Commit: 4}, 2, 2, false}, // commit upto min(commit, last) } for i, tt := range tests { @@ -518,14 +518,10 @@ func TestHandleMsgApp(t *testing.T) { } m := sm.ReadMessages() if len(m) != 1 { - t.Errorf("#%d: msg = nil, want 1", i) + t.Fatalf("#%d: msg = nil, want 1", i) } - gaccept := true - if m[0].Index == -1 { - gaccept = false - } - if gaccept != tt.wAccept { - t.Errorf("#%d: accept = %v, want %v", i, gaccept, tt.wAccept) + if m[0].Denied != tt.wDenied { + t.Errorf("#%d: denied = %v, want %v", i, m[0].Denied, tt.wDenied) } } }