raft: sm.vote -> State.Vote

release-2.0
Blake Mizerany 2014-08-22 14:35:05 -07:00 committed by Yicheng Qin
parent 40ed560e16
commit f1f8fc4228
2 changed files with 5 additions and 8 deletions

View File

@ -141,9 +141,6 @@ type raft struct {
// the term we are participating in at any time
index atomicInt
// who we voted for in term
vote int64
// the log
raftLog *raftLog
@ -191,7 +188,7 @@ func (sm *raft) String() string {
s := fmt.Sprintf(`state=%v term=%d`, sm.state, sm.Term)
switch sm.state {
case stateFollower:
s += fmt.Sprintf(" vote=%v lead=%v", sm.vote, sm.lead)
s += fmt.Sprintf(" vote=%v lead=%v", sm.Vote, sm.lead)
case stateCandidate:
s += fmt.Sprintf(` votes="%v"`, sm.votes)
case stateLeader:
@ -494,7 +491,7 @@ func stepFollower(sm *raft, m Message) bool {
case msgSnap:
sm.handleSnapshot(m)
case msgVote:
if (sm.vote == none || sm.vote == m.From) && sm.raftLog.isUpToDate(m.Index, m.LogTerm) {
if (sm.Vote == none || sm.Vote == m.From) && sm.raftLog.isUpToDate(m.Index, m.LogTerm) {
sm.setVote(m.From)
sm.send(Message{To: m.From, Type: msgVoteResp, Index: sm.raftLog.lastIndex()})
} else {
@ -554,7 +551,7 @@ func (sm *raft) setTerm(term int64) {
}
func (sm *raft) setVote(vote int64) {
sm.vote = vote
sm.Vote = vote
sm.saveState()
}
@ -572,7 +569,7 @@ func (sm *raft) deleteIns(id int64) {
// When there is a term change, vote change or configuration change, raft
// must call saveState.
func (sm *raft) saveState() {
sm.setState(sm.vote, sm.Term, sm.raftLog.committed)
sm.setState(sm.Vote, sm.Term, sm.raftLog.committed)
}
func (sm *raft) clearState() {

View File

@ -542,7 +542,7 @@ func TestRecvMsgVote(t *testing.T) {
for i, tt := range tests {
sm := &raft{
state: tt.state,
vote: tt.voteFor,
State: State{Vote: tt.voteFor},
raftLog: &raftLog{ents: []Entry{{}, {Term: 2}, {Term: 2}}},
}