Merge pull request #706 from unihorn/62

bump(goraft/raft): cfa43a115
release-0.4
Yicheng Qin 2014-04-09 12:53:25 -07:00
commit fe5eb31ca7
1 changed files with 7 additions and 2 deletions

View File

@ -934,8 +934,13 @@ func (s *server) processAppendEntriesRequest(req *AppendEntriesRequest) (*Append
if req.Term == s.currentTerm {
_assert(s.State() != Leader, "leader.elected.at.same.term.%d\n", s.currentTerm)
// change state to follower
s.setState(Follower)
// step-down to follower when it is a candidate
if s.state == Candidate {
// change state to follower
s.setState(Follower)
}
// discover new leader when candidate
// save leader name when follower
s.leader = req.LeaderName