From 46ebf69c02c9330219865e516c1a424e3c28f5cb Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Thu, 30 Oct 2014 08:38:16 -0700 Subject: [PATCH] raft: better logging for leader transition --- raft/node.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/raft/node.go b/raft/node.go index 179b0074f..85fce43ed 100644 --- a/raft/node.go +++ b/raft/node.go @@ -219,13 +219,18 @@ func (n *node) run(r *raft) { } if rd.SoftState != nil && lead != rd.SoftState.Lead { - log.Printf("raft: leader changed from %x to %x", lead, rd.SoftState.Lead) - lead = rd.SoftState.Lead if r.hasLeader() { + if lead == None { + log.Printf("raft: elected leader %x at term %d", rd.SoftState.Lead, r.Term) + } else { + log.Printf("raft: leader changed from %x to %x at term %d", lead, rd.SoftState.Lead, r.Term) + } propc = n.propc } else { + log.Printf("raft: lost leader %x at term %d", lead, r.Term) propc = nil } + lead = rd.SoftState.Lead } select {