You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "SEPURI-SAI-KRISHNA (via GitHub)" <gi...@apache.org> on 2026/09/27 13:54:33 UTC
Re: [PR] KAFKA-20968: Connect retry backoff overflows with infinite retries, dropping the delay to zero and restarting the exponential ramp [kafka]
SEPURI-SAI-KRISHNA commented on PR #23212:
URL: https://github.com/apache/kafka/pull/23212#issuecomment-5856473881
Open since 20 August, no review yet. Small: +35/-1 across two files, no public API change, no KIP.
`RetryWithToleranceOperator.backoff()` computes `RETRIES_DELAY_MIN_MS << numRetry` with no
overflow check. With `errors.retry.timeout = -1` (documented as infinite retries) the attempt
count is unbounded, so the shift overflows: at numRetry 55 the delay goes negative, which skips
the jitter cap, and `CountDownLatch.await()` returns immediately for a non-positive timeout. The
backoff vanishes and the connector spins against the system that is already failing. Past 63 the
shift distance wraps and the ramp restarts at 300 ms. With the default 60 s max delay that is
about 25 minutes of sustained failure away.
The added test drives 130 attempts and asserts every delay stays in
`[0, errors.retry.delay.max.ms]`; on trunk it fails with `Backoff delay -7638104968020361216 is
outside the expected range [0, 60000]`.
@chia7712 @mimaison could one of you take a look? The only checks showing are the labeler bots,
so it also needs a committer to approve a CI run.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: jira-unsubscribe@kafka.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org