mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
raft: sm.vote -> State.Vote
This commit is contained in:
parent
40ed560e16
commit
f1f8fc4228
@ -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() {
|
||||
|
@ -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}}},
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user