diff --git a/server/serverimpl.go b/server/serverimpl.go index 12048199..2df1ffc6 100644 --- a/server/serverimpl.go +++ b/server/serverimpl.go @@ -256,12 +256,12 @@ func (s *server) handleWSConnection(reqCtx context.Context, wsConn *websocket.Co mt, msgBytes, err := wsConn.ReadMessage() isBreak, err := func() (bool, error) { if err != nil { - if !websocket.IsUnexpectedCloseError(err) { - s.logger.Errorf(msgContext, "Cannot read a message from WebSocket: %v", err) + if !websocket.IsUnexpectedCloseError(err, websocket.CloseNormalClosure) { + // This is a normal closing of the WebSocket connection. + s.logger.Debugf(msgContext, "Agent disconnected: %v", err) return true, err } - // This is a normal closing of the WebSocket connection. - s.logger.Debugf(msgContext, "Agent disconnected: %v", err) + s.logger.Errorf(msgContext, "Cannot read a message from WebSocket: %v", err) return true, err } if mt != websocket.BinaryMessage { @@ -279,7 +279,9 @@ func (s *server) handleWSConnection(reqCtx context.Context, wsConn *websocket.Co return false, nil }() if err != nil { - connectionCallbacks.OnReadMessageError(agentConn, mt, msgBytes, err) + if !websocket.IsCloseError(err, websocket.CloseNormalClosure) { + connectionCallbacks.OnReadMessageError(agentConn, mt, msgBytes, err) + } if isBreak { break } diff --git a/server/serverimpl_test.go b/server/serverimpl_test.go index 74b1f1cc..2afa31ff 100644 --- a/server/serverimpl_test.go +++ b/server/serverimpl_test.go @@ -354,8 +354,8 @@ func TestDisconnectServerWSConnection(t *testing.T) { return err != nil }) - // We expect exactly one error log - require.Equal(t, 1, len(logger.errorLogs)) + // We expect exactly one debug log + require.Equal(t, 1, len(logger.debugLogs)) } var testInstanceUid = []byte{1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6}