RetryHandler does not apply backoff when a request is not AlwaysRetry.
Description
RetryHandler is not calculating a backoff when retrying certain failures such as KvTemporaryFailure. This means these can spam out retries, exacerbating the issue.
In the path for request.AlwaysRetry(), backoff is applied. However, in the other path, the request's duration is used as the backoff rather than exponential/controlled backoff. For immediate failures, this leads to an immediate retry, making the situation worse.
Environment
None
Gerrit Reviews
None
Release Notes Description
None
Activity
Show:
Unresolved
Pinned fields
Click on the next to a field label to start pinning.
RetryHandler is not calculating a backoff when retrying certain failures such as KvTemporaryFailure. This means these can spam out retries, exacerbating the issue.
In the path for request.AlwaysRetry(), backoff is applied. However, in the other path, the request's duration is used as the backoff rather than exponential/controlled backoff. For immediate failures, this leads to an immediate retry, making the situation worse.