Retry should generate sleep time after attempt #792
Labels
priority: p2
Moderately-important priority. Fix may not be included in next release.
type: feature request
‘Nice-to-have’ improvement, new feature or different behavior or design.
Currently our retry logic pulls the next sleep time from the generator before starting an rpc. This allows us to immediately fail with a ValueError if the generator stops providing backoff values
The downside of this approach is that the backoff is locked in before the rpc is attempted.
Bigtable has a feature where the server can provide a backoff value to the client for the next attempt. The design of Python's retry classes is flexible enough to allow this, except for the fact that the next backoff value is locked in early.
To support this feature, I suggest that we only call the backoff generator when we are ready for the next sleep.
The text was updated successfully, but these errors were encountered: