Skip to content

Conversation

@ulischulte
Copy link
Contributor

Closes #2897


private Retry createRetrySpec() {
return Retry.backoff(Long.MAX_VALUE, Duration.ofSeconds(1)).maxBackoff(maxBackoff).doBeforeRetry((s) -> {
log.warn("Unexpected error in {}-check", this.name, s.failure());
Copy link

@cdprete cdprete Oct 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ulischulte isn't this line useless given that the errorConsumer will just do the same but on ERROR level?

In the previous code there was just a warning, but now you end up with a warning and and error providing exactly the same information.
Actually I find the WARN level better in this case, because it's just one of the retries.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't say useless. In the first step, I more or less adapted the error logging from the previous implementation. It also logs a warning in doBeforeRetry AND has a direct implementation of the errorConsumer in subscribe.

Please note, however, that you are reviewing a WIP/draft that has not yet been released for review.
I am in the process of creating failing tests for the known scenarios and, in the first step, I intentionally injected an errorConsumer for easier verifiability.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am in the process of creating failing tests for the known scenarios and, in the first step, I intentionally injected an errorConsumer for easier verifiability.

Ok, I see.
I wanted just to avoid to have double entries in my logs. :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And please keep in mind. I didn't change the error logging here so far, regardless of wether it's verbose or not. The old and new IntervalCheck both log a warning before retry and both invoke an errorConsumer when ever there's an error signal.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. My comment was only about the code block that gets executed before the retry.

Now it logs a warning, the previous line, and it invokes as well the error consumer, which logs an error.

Or, that's what I see in the diff here honestly :)

@ulischulte ulischulte force-pushed the fix/2897-prevent-overflow-on-repeated-failures branch from 68d6cef to dfd7bfd Compare October 25, 2025 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Backoff retry delay in status check is increasing to hours rendering services offline

3 participants