From 7c2fb661814ddc0a4ebc88e3f7574a2238296b9b Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 6 Jun 2025 09:05:22 +0100 Subject: [PATCH] chore(provisionersdk): ignore io.EOF in Session.requestReader (#18234) My understanding is that `io.EOF` is eventually expected, so logging it as an error may be confusing. For other errors we should definitely WARN. ``` [info] provisionerd-ip-172-31-12-44-14: recv done on Session session_id=22b9ef8a-9cd6-4188-98e0-573a50d724cc error=EOF ``` --- provisionersdk/session.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/provisionersdk/session.go b/provisionersdk/session.go index 8c5b8cf40b..fe6e3e2ca1 100644 --- a/provisionersdk/session.go +++ b/provisionersdk/session.go @@ -100,7 +100,11 @@ func (s *Session) requestReader(done <-chan struct{}) <-chan *proto.Request { for { req, err := s.stream.Recv() if err != nil { - s.Logger.Info(s.Context(), "recv done on Session", slog.Error(err)) + if !xerrors.Is(err, io.EOF) { + s.Logger.Warn(s.Context(), "recv done on Session", slog.Error(err)) + } else { + s.Logger.Info(s.Context(), "recv done on Session") + } return } select {