From 66ce075ce13170c99637c002864c4df8a0afe2bc Mon Sep 17 00:00:00 2001 From: Yicheng Qin Date: Wed, 9 Apr 2014 12:42:20 -0700 Subject: [PATCH] bump(goraft/raft): cfa43a115 --- third_party/github.com/goraft/raft/server.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/third_party/github.com/goraft/raft/server.go b/third_party/github.com/goraft/raft/server.go index d020c9070..71fbadeb2 100644 --- a/third_party/github.com/goraft/raft/server.go +++ b/third_party/github.com/goraft/raft/server.go @@ -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