From f98c4b0e10bd754b37214110d42595ad66107b30 Mon Sep 17 00:00:00 2001 From: Matt Parker Date: Wed, 6 Aug 2014 16:45:22 -0400 Subject: [PATCH] Add leader change event for followers Fixes coreos/etcd#913 --- server.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server.go b/server.go index 8a9d05c..e953907 100644 --- a/server.go +++ b/server.go @@ -946,6 +946,10 @@ 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) + + if s.leader != req.LeaderName { + s.DispatchEvent(newEvent(LeaderChangeEventType, req.LeaderName, s.leader)) + } // step-down to follower when it is a candidate if s.state == Candidate {