From 877f11bed8bbf62dd22f16f4aa645eed097a807f Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Fri, 19 Apr 2019 10:58:17 -0700 Subject: [PATCH] etcdserver: improve heartbeat send failures logging Signed-off-by: Gyuho Lee --- etcdserver/raft.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/etcdserver/raft.go b/etcdserver/raft.go index 3cf4064ca..c03d2a7b8 100644 --- a/etcdserver/raft.go +++ b/etcdserver/raft.go @@ -17,6 +17,7 @@ package etcdserver import ( "encoding/json" "expvar" + "fmt" "log" "sort" "sync" @@ -357,12 +358,13 @@ func (r *raftNode) processMessages(ms []raftpb.Message) []raftpb.Message { if r.lg != nil { r.lg.Warn( "leader failed to send out heartbeat on time; took too long, leader is overloaded likely from slow disk", + zap.String("to", fmt.Sprintf("%x", ms[i].To)), zap.Duration("heartbeat-interval", r.heartbeat), zap.Duration("expected-duration", 2*r.heartbeat), zap.Duration("exceeded-duration", exceed), ) } else { - plog.Warningf("failed to send out heartbeat on time (exceeded the %v timeout for %v)", r.heartbeat, exceed) + plog.Warningf("failed to send out heartbeat on time (exceeded the %v timeout for %v, to %x)", r.heartbeat, exceed, ms[i].To) plog.Warningf("server is likely overloaded") } heartbeatSendFailures.Inc()