Browse Source

raft: remove index field in msg voteResp

Xiang Li 11 years ago
parent
commit
adefd83855
2 changed files with 28 additions and 28 deletions
  1. 4 4
      raft/raft.go
  2. 24 24
      raft/raft_test.go

+ 4 - 4
raft/raft.go

@@ -430,7 +430,7 @@ func stepLeader(r *raft, m pb.Message) {
 			}
 		}
 	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.handleSnapshot(m)
 	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:
 		gr := r.poll(m.From, !m.Denied)
 		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) {
 			r.elapsed = 0
 			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 {
-			r.send(pb.Message{To: m.From, Type: msgVoteResp, Index: -1, Denied: true})
+			r.send(pb.Message{To: m.From, Type: msgVoteResp, Denied: true})
 		}
 	}
 }

+ 24 - 24
raft/raft_test.go

@@ -535,33 +535,33 @@ func TestRecvMsgVote(t *testing.T) {
 		state   StateType
 		i, term int64
 		voteFor int64
-		w       int64
+		wdenied bool
 	}{
-		{StateFollower, 0, 0, None, -1},
-		{StateFollower, 0, 1, None, -1},
-		{StateFollower, 0, 2, None, -1},
-		{StateFollower, 0, 3, None, 2},
+		{StateFollower, 0, 0, None, true},
+		{StateFollower, 0, 1, None, true},
+		{StateFollower, 0, 2, None, true},
+		{StateFollower, 0, 3, None, false},
 
-		{StateFollower, 1, 0, None, -1},
-		{StateFollower, 1, 1, None, -1},
-		{StateFollower, 1, 2, None, -1},
-		{StateFollower, 1, 3, None, 2},
+		{StateFollower, 1, 0, None, true},
+		{StateFollower, 1, 1, None, true},
+		{StateFollower, 1, 2, None, true},
+		{StateFollower, 1, 3, None, false},
 
-		{StateFollower, 2, 0, None, -1},
-		{StateFollower, 2, 1, None, -1},
-		{StateFollower, 2, 2, None, 2},
-		{StateFollower, 2, 3, None, 2},
+		{StateFollower, 2, 0, None, true},
+		{StateFollower, 2, 1, None, true},
+		{StateFollower, 2, 2, None, false},
+		{StateFollower, 2, 3, None, false},
 
-		{StateFollower, 3, 0, None, -1},
-		{StateFollower, 3, 1, None, -1},
-		{StateFollower, 3, 2, None, 2},
-		{StateFollower, 3, 3, None, 2},
+		{StateFollower, 3, 0, None, true},
+		{StateFollower, 3, 1, None, true},
+		{StateFollower, 3, 2, None, false},
+		{StateFollower, 3, 3, None, false},
 
-		{StateFollower, 3, 2, 2, 2},
-		{StateFollower, 3, 2, 1, -1},
+		{StateFollower, 3, 2, 2, false},
+		{StateFollower, 3, 2, 1, true},
 
-		{StateLeader, 3, 3, 1, -1},
-		{StateCandidate, 3, 3, 1, -1},
+		{StateLeader, 3, 3, 1, true},
+		{StateCandidate, 3, 3, 1, true},
 	}
 
 	for i, tt := range tests {
@@ -582,11 +582,11 @@ func TestRecvMsgVote(t *testing.T) {
 
 		msgs := sm.ReadMessages()
 		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
 		}
-		if g := msgs[0].Index; g != tt.w {
-			t.Errorf("#%d, m.Index = %d, want %d", i, g, tt.w)
+		if g := msgs[0].Denied; g != tt.wdenied {
+			t.Errorf("#%d, m.Index = %d, want %d", i, g, tt.wdenied)
 		}
 	}
 }