Skip to content

Errors to be retried are polluting the log output #2224

Closed
@ggallen

Description

@ggallen

Bug Report

What did you do?

When reconciliation happens, conflicts (i.e. unhandled exceptions) may occur. When these do occur, the SDK schedules a retry.

However, the SDK still emits an error to the log.

What did you expect to see?

What I expect to see depends upon the current retry state:

  • If a retry is to be attempted, no errors should be emitted to the log. Instead, a warning should be written that lists the error and indicates that a retry will be attempted. The number of the attempted retry might be interesting information as well.
  • If retries are exhausted, the error should be emitted as it is today (with the traceback, etc). It also might include that retries are exhausted and indicate how many retries were attempted.

What did you see instead? Under which circumstances?

Currently, every failure emits an error. This leads to pollution in the log and makes it impossible to tell what is a real error and what is an error that will be retried.

Environment

OSD/minikube.

$ Mention java-operator-sdk version from pom.xml file

<quarkus.platform.version>3.5.0</quarkus.platform.version>

$ java -version

openjdk 17.0.8 2023-07-18
OpenJDK Runtime Environment (Red_Hat-17.0.8.0.7-1.fc38) (build 17.0.8+7)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.8.0.7-1.fc38) (build 17.0.8+7, mixed mode, sharing)

$ kubectl version

Client Version: v1.28.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.26.1
WARNING: version difference between client (1.28) and server (1.26) exceeds the supported minor version skew of +/-1

Possible Solution

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions