mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
raft: set term in reset
This commit is contained in:
parent
67808f8db1
commit
5778c49689
13
raft/raft.go
13
raft/raft.go
@ -118,7 +118,7 @@ func newStateMachine(id int, peers []int) *stateMachine {
|
||||
for p := range peers {
|
||||
sm.ins[p] = &index{}
|
||||
}
|
||||
sm.reset()
|
||||
sm.reset(0)
|
||||
return sm
|
||||
}
|
||||
|
||||
@ -181,7 +181,8 @@ func (sm *stateMachine) nextEnts() (ents []Entry) {
|
||||
return sm.log.nextEnts()
|
||||
}
|
||||
|
||||
func (sm *stateMachine) reset() {
|
||||
func (sm *stateMachine) reset(term int) {
|
||||
sm.term = term
|
||||
sm.lead = none
|
||||
sm.vote = none
|
||||
sm.votes = make(map[int]bool)
|
||||
@ -198,8 +199,7 @@ func (sm *stateMachine) q() int {
|
||||
}
|
||||
|
||||
func (sm *stateMachine) becomeFollower(term, lead int) {
|
||||
sm.reset()
|
||||
sm.term = term
|
||||
sm.reset(term)
|
||||
sm.lead = lead
|
||||
sm.state = stateFollower
|
||||
sm.pendingConf = false
|
||||
@ -210,8 +210,7 @@ func (sm *stateMachine) becomeCandidate() {
|
||||
if sm.state == stateLeader {
|
||||
panic("invalid transition [leader -> candidate]")
|
||||
}
|
||||
sm.reset()
|
||||
sm.term++
|
||||
sm.reset(sm.term + 1)
|
||||
sm.vote = sm.id
|
||||
sm.state = stateCandidate
|
||||
}
|
||||
@ -221,7 +220,7 @@ func (sm *stateMachine) becomeLeader() {
|
||||
if sm.state == stateFollower {
|
||||
panic("invalid transition [follower -> leader]")
|
||||
}
|
||||
sm.reset()
|
||||
sm.reset(sm.term)
|
||||
sm.lead = sm.id
|
||||
sm.state = stateLeader
|
||||
|
||||
|
@ -653,7 +653,7 @@ func ents(terms ...int) *stateMachine {
|
||||
}
|
||||
|
||||
sm := &stateMachine{log: &log{ents: ents}}
|
||||
sm.reset()
|
||||
sm.reset(0)
|
||||
return sm
|
||||
}
|
||||
|
||||
@ -681,7 +681,7 @@ func newNetwork(peers ...Interface) *network {
|
||||
for i := range peerAddrs {
|
||||
v.ins[i] = &index{}
|
||||
}
|
||||
v.reset()
|
||||
v.reset(0)
|
||||
}
|
||||
}
|
||||
return &network{peers: peers, dropm: make(map[connem]float64)}
|
||||
|
Loading…
x
Reference in New Issue
Block a user