From e82b93b8db12dc8c28d1374b558e2be95ad795a4 Mon Sep 17 00:00:00 2001 From: Mukul Anand Date: Wed, 12 Feb 2025 18:58:17 +0530 Subject: [PATCH] Changed log level for retryable error Scenarios (#22141) * Changed log level : 1- xDS DeltaDiscoveryRequest context cancelled set to INFO on stream cancelled as it is retrieable 2- subscription failed logging on ACL change is set to INFO as is also retriable * Added change log file and updated code for PR comments * fixing error logging with key, value, updating changelog --- .changelog/22141.txt | 6 ++++++ agent/submatview/materializer.go | 9 ++++++++- agent/xds/delta.go | 7 ++++++- 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 .changelog/22141.txt diff --git a/.changelog/22141.txt b/.changelog/22141.txt new file mode 100644 index 000000000000..2e7a491712ab --- /dev/null +++ b/.changelog/22141.txt @@ -0,0 +1,6 @@ +```release-note:improvement +xDS: Log level change from ERROR to INFO for xDS delta discovery request. Stream can be cancelled on server shutdown and other scenarios. It is retryable and error is a superfluous log. +``` +```release-note:improvement +SubMatView: Log level change from ERROR to INFO for subject materialized view as subscription creation is retryable on ACL change. +``` \ No newline at end of file diff --git a/agent/submatview/materializer.go b/agent/submatview/materializer.go index 42754c914da0..20c8852007f6 100644 --- a/agent/submatview/materializer.go +++ b/agent/submatview/materializer.go @@ -5,11 +5,13 @@ package submatview import ( "context" + "errors" "sync" "time" "github.com/hashicorp/go-hclog" + "github.com/hashicorp/consul/agent/consul/stream" "github.com/hashicorp/consul/lib/retry" "github.com/hashicorp/consul/proto/private/pbsubscribe" ) @@ -202,7 +204,12 @@ func (m *materializer) handleError(req *pbsubscribe.SubscribeRequest, err error) logger = logger.With("key", req.Key) // nolint:staticcheck // SA1019 intentional use of deprecated field } - logger.Error("subscribe call failed") + switch { + case errors.Is(err, stream.ErrACLChanged): + logger.Info("subscribe call failed due to ACL change", "error", err) + default: + logger.Error("subscribe call failed", "error", err) + } } // isNonTemporaryOrConsecutiveFailure returns true if the error is not a diff --git a/agent/xds/delta.go b/agent/xds/delta.go index 44b63fcdce18..26ba19687e4f 100644 --- a/agent/xds/delta.go +++ b/agent/xds/delta.go @@ -73,7 +73,12 @@ func (s *Server) DeltaAggregatedResources(stream ADSDeltaStream) error { return } if err != nil { - s.Logger.Error("Error receiving new DeltaDiscoveryRequest; closing request channel", "error", err) + switch { + case status.Code(err) == codes.Canceled: + s.Logger.Info("Error receiving new DeltaDiscoveryRequest; closing request channel", "error", err) + default: + s.Logger.Error("Error receiving new DeltaDiscoveryRequest", "error", err) + } close(reqCh) return }