fix(retry): add Unauthenticated to retryable gRPC status codes to handle transient token expiration in storage control client#4746
Conversation
…nsient token expiration in storage control client
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request improves the resilience of the Storage Control Client by enabling retries for gRPC Unauthenticated errors. This change ensures that transient token expiration issues are handled gracefully, reducing potential service disruptions. Additionally, the PR standardizes documentation and adds comprehensive test coverage to ensure the new retry behavior functions as expected. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request adds codes.Unauthenticated to the list of retryable gRPC status codes in both the storage control client wrapper and the integration test client options, accompanied by TODO comments referencing bug b/518674297. Additionally, it introduces a unit test to verify that unauthenticated errors are retryable and updates existing TODO comments in custom_retry.go to include the bug reference. There are no review comments, and I have no feedback to provide.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #4746 +/- ##
==========================================
+ Coverage 83.64% 83.72% +0.07%
==========================================
Files 168 168
Lines 20775 20776 +1
==========================================
+ Hits 17378 17395 +17
+ Misses 2750 2736 -14
+ Partials 647 645 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Description
This PR adds support for retrying gRPC Unauthenticated errors in the Storage Control Client to handle transient credential/token expirations. It also aligns the documentation and code comments across different retry mechanism.
Link to the issue in case of a bug fix.
b/517636259
Testing details
Any backward incompatible change? If so, please explain.
NONE