Skip to content

feat: support dynamic retry backoff values #793

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Mar 19, 2025
Merged

Conversation

daniel-sanche
Copy link
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 team as code owners February 14, 2025 00:36
@product-auto-label product-auto-label bot added the size: m Pull request size is medium. label Feb 14, 2025
Copy link
Collaborator

@parthea parthea left a comment

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.

@parthea parthea marked this pull request as draft March 17, 2025 13:33
@parthea
Copy link
Collaborator

parthea commented Mar 17, 2025

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
Contributor Author

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

@parthea parthea merged commit 70697a3 into main Mar 19, 2025
46 checks passed
@parthea parthea deleted the postpone_sleep_generation branch March 19, 2025 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size: m Pull 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