diff --git a/util/errors/errors.go b/util/errors/errors.go index 44126dab243d..c9bc56e3d3d7 100644 --- a/util/errors/errors.go +++ b/util/errors/errors.go @@ -7,6 +7,7 @@ import ( "regexp" "strings" + log "github.com/sirupsen/logrus" apierr "k8s.io/apimachinery/pkg/api/errors" argoerrs "github.com/argoproj/argo-workflows/v3/errors" @@ -17,7 +18,13 @@ func IsTransientErr(err error) bool { return false } err = argoerrs.Cause(err) - return isExceededQuotaErr(err) || apierr.IsTooManyRequests(err) || isResourceQuotaConflictErr(err) || isTransientNetworkErr(err) || apierr.IsServerTimeout(err) || apierr.IsServiceUnavailable(err) || matchTransientErrPattern(err) + isTransient := isExceededQuotaErr(err) || apierr.IsTooManyRequests(err) || isResourceQuotaConflictErr(err) || isTransientNetworkErr(err) || apierr.IsServerTimeout(err) || apierr.IsServiceUnavailable(err) || matchTransientErrPattern(err) + if isTransient { + log.Infof("Transient error: %v", err) + } else { + log.Warnf("Non-transient error: %v", err) + } + return isTransient } func matchTransientErrPattern(err error) bool {