From e521ac9b73a338eb3c2ffbb78caa5c33b7468d1c Mon Sep 17 00:00:00 2001 From: xiaost Date: Fri, 24 Apr 2015 22:23:45 +0800 Subject: [PATCH] raft: fix leaderID error when state changed --- raft/log.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/raft/log.go b/raft/log.go index 08d4b24d162..e27c29e4172 100644 --- a/raft/log.go +++ b/raft/log.go @@ -1023,6 +1023,9 @@ func (l *Log) candidateLoop(closing <-chan struct{}) State { case <-l.terms: return Follower case <-elected: + l.lock() + l.leaderID = l.id + l.unlock() return Leader case ch := <-l.Clock.AfterElectionTimeout(): close(ch)