Skip to content
This repository was archived by the owner on Feb 23, 2026. It is now read-only.

feat: support dynamic retry backoff values - #793

Merged
parthea merged 12 commits into
mainfrom
postpone_sleep_generation
Mar 19, 2025
Merged

feat: support dynamic retry backoff values#793
parthea merged 12 commits into
mainfrom
postpone_sleep_generation

Conversation

@daniel-sanche

Copy link
Copy Markdown
Contributor

This PR moves backoff generation until after an rpc is complete and on_error callbacks have been called. This gives the client a chance to change what backoff value is used based on the error details.

This feature is required for Bigtable, where the backend can send retry_info packets to inform the client on how long to wait before a retry

Fixes#792

@daniel-sanche
daniel-sanche requested review from a teamFebruary 14, 2025 00:36
@product-auto-labelproduct-auto-labelBot added the size: m Pull request size is medium. label Feb 14, 2025

@partheaparthea left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Local testing looks good. Test results in googleapis/gapic-generator-python#2359 look good. I'm also waiting for test results in cl/736133031. Once the tests in cl/736133031 pass and we are confident that there won't be an infinite loop ( due to use of while True without another exit condition), we can move forward with this PR.

Comment threadgoogle/api_core/retry/retry_streaming.py
Comment threadgoogle/api_core/retry/retry_base.py
@parthea
parthea marked this pull request as draft March 17, 2025 13:33
@parthea

Copy link
Copy Markdown
Contributor

I'm going to move this to draft until a regression test is added. Please mark it as ready to review when this PR is ready.

@daniel-sanche
daniel-sanche marked this pull request as ready for review March 17, 2025 23:25
@daniel-sanche

Copy link
Copy Markdown
ContributorAuthor

The tests have been added, so this is ready to review again

@parthea
parthea merged commit 70697a3 into mainMar 19, 2025
@parthea
parthea deleted the postpone_sleep_generation branch March 19, 2025 15:09
@release-pleaserelease-pleaseBot mentioned this pull request Mar 19, 2025
@release-pleaserelease-pleaseBot mentioned this pull request May 12, 2025
This was referenced May 30, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

size: mPull request size is medium.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Retry should generate sleep time after attempt

4 participants

@daniel-sanche@parthea@vchudnov-g@ohmayr