From 65cdf43e48505907bc3df2661540da638ca825a9 Mon Sep 17 00:00:00 2001 From: Lili Cosic Date: Tue, 1 Jun 2021 11:57:42 +0200 Subject: [PATCH 1/3] client/v3/lease.go: Log unhandled errors --- client/v3/lease.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/client/v3/lease.go b/client/v3/lease.go index bd31e6b4a..fcab61aab 100644 --- a/client/v3/lease.go +++ b/client/v3/lease.go @@ -439,6 +439,9 @@ func (l *lessor) recvKeepAliveLoop() (gerr error) { for { stream, err := l.resetRecv() if err != nil { + l.lg.Warn("error occurred during lease keep alive loop", + zap.Error(err), + ) if canceledByCaller(l.stopCtx, err) { return err } @@ -571,7 +574,9 @@ func (l *lessor) sendKeepAliveLoop(stream pb.Lease_LeaseKeepAliveClient) { for _, id := range tosend { r := &pb.LeaseKeepAliveRequest{ID: int64(id)} if err := stream.Send(r); err != nil { - // TODO do something with this error? + l.lg.Warn("error occurred during lease keep alive request sending", + zap.Error(err), + ) return } } From 5e67b40a9effc2e5a4c9ff77e6b14f409c7ee261 Mon Sep 17 00:00:00 2001 From: Lili Cosic Date: Tue, 1 Jun 2021 14:21:08 +0200 Subject: [PATCH 2/3] raft/node.go: Log unhandled errors --- raft/node.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/raft/node.go b/raft/node.go index dca5954f7..74376ba84 100644 --- a/raft/node.go +++ b/raft/node.go @@ -223,7 +223,10 @@ func StartNode(c *Config, peers []Peer) Node { if err != nil { panic(err) } - rn.Bootstrap(peers) + err = rn.Bootstrap(peers) + if err != nil { + c.Logger.Warningf("error occurred during starting a new node: %v", err) + } n := newNode(rn) From ddd390af012bf792f7934c4baea4ac5a5c3c92d8 Mon Sep 17 00:00:00 2001 From: Lili Cosic Date: Tue, 1 Jun 2021 14:45:41 +0200 Subject: [PATCH 3/3] raft/raft.go: Log unhandled errors --- raft/raft.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/raft/raft.go b/raft/raft.go index c80262eba..73ed83c08 100644 --- a/raft/raft.go +++ b/raft/raft.go @@ -647,7 +647,9 @@ func (r *raft) tickElection() { if r.promotable() && r.pastElectionTimeout() { r.electionElapsed = 0 - r.Step(pb.Message{From: r.id, Type: pb.MsgHup}) + if err := r.Step(pb.Message{From: r.id, Type: pb.MsgHup}); err != nil { + r.logger.Debugf("error occurred during election: %v", err) + } } } @@ -659,7 +661,9 @@ func (r *raft) tickHeartbeat() { if r.electionElapsed >= r.electionTimeout { r.electionElapsed = 0 if r.checkQuorum { - r.Step(pb.Message{From: r.id, Type: pb.MsgCheckQuorum}) + if err := r.Step(pb.Message{From: r.id, Type: pb.MsgCheckQuorum}); err != nil { + r.logger.Debugf("error occurred during checking sending hearbeat: %v", err) + } } // If current leader cannot transfer leadership in electionTimeout, it becomes leader again. if r.state == StateLeader && r.leadTransferee != None { @@ -673,7 +677,9 @@ func (r *raft) tickHeartbeat() { if r.heartbeatElapsed >= r.heartbeatTimeout { r.heartbeatElapsed = 0 - r.Step(pb.Message{From: r.id, Type: pb.MsgBeat}) + if err := r.Step(pb.Message{From: r.id, Type: pb.MsgBeat}); err != nil { + r.logger.Debugf("error occurred during checking sending hearbeat: %v", err) + } } }