From ee87fce0409159fbef78ad598331d7eeb1031e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Tokar=C4=8D=C3=ADk?= Date: Fri, 11 Dec 2020 17:39:19 +0100 Subject: [PATCH] Don't log error on tunnel node after its serving agent is stopped (#5042) --- lib/teleagent/agent.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/teleagent/agent.go b/lib/teleagent/agent.go index 9f04171afe5..02a434bef6d 100644 --- a/lib/teleagent/agent.go +++ b/lib/teleagent/agent.go @@ -85,10 +85,11 @@ func (a *AgentServer) Serve() error { return trace.Wrap(err, "unknown error") } if !neterr.Temporary() { - if !strings.Contains(neterr.Error(), "use of closed network connection") { - log.Errorf("got permanent error: %v", err) + if strings.Contains(neterr.Error(), "use of closed network connection") { + return nil } - return err + log.WithError(err).Error("Got permanent error.") + return trace.Wrap(err) } if tempDelay == 0 { tempDelay = 5 * time.Millisecond @@ -98,7 +99,7 @@ func (a *AgentServer) Serve() error { if max := 1 * time.Second; tempDelay > max { tempDelay = max } - log.Errorf("got temp error: %v, will sleep %v", err, tempDelay) + log.WithError(err).Errorf("Got temporary error (will sleep %v).", tempDelay) time.Sleep(tempDelay) continue } @@ -107,7 +108,7 @@ func (a *AgentServer) Serve() error { // get an agent instance for serving this conn instance, err := a.getAgent() if err != nil { - log.Errorf("Failed to get agent: %v", err) + log.WithError(err).Error("Failed to get agent.") return trace.Wrap(err) }