-
Notifications
You must be signed in to change notification settings - Fork 469
feat: Retry stalled Folder API calls for zonal buckets #3684
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
feat: Retry stalled Folder API calls for zonal buckets #3684
Conversation
9d222f0 to
9d268f7
Compare
a2ae2a5 to
6a4248d
Compare
9d268f7 to
78c0893
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some nit comments.
6a4248d to
cb7ce40
Compare
78c0893 to
c5c8019
Compare
c5c8019 to
c7255ce
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3684 +/- ##
===========================================
+ Coverage 0 82.35% +82.35%
===========================================
Files 0 144 +144
Lines 0 23059 +23059
===========================================
+ Hits 0 18991 +18991
- Misses 0 3523 +3523
- Partials 0 545 +545
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:
|
c7255ce to
7b2bfc7
Compare
b04ec3b to
7e367ff
Compare
7b2bfc7 to
803e375
Compare
7e367ff to
0e31d53
Compare
803e375 to
5e00092
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, couple of nits which can be taken as different PR.
* add retry-stall timeout for folder APIs and their tests * call -> API for consistency * remove stall from stallRetry everywhere * address gemini comment * remove gax-based retries from folder API calls from ZB add back gax-retries for non-zb for folder APIs empty commit temp wip wip wip final code change and debug logs empty commit * fix rebase issues * rename storageControlClientRetryOptions -> storageControlClientGaxRetryOptions * remove debug logs and add useful comments * address some self-comments * address more self-comments * address some self-review comments * add more unit tests * enhance existing unit tests * refactor BucketHandle() and add more unit tests to it * empty commit
Fix wrt comment #3684 (comment) .
Fix wrt comment #3684 (comment) .
Fix wrt comment #3684 (comment) .
Fix wrt comment #3684 (comment) .
Fix wrt comment #3684 (comment) .
) * address a comment in a previous commit Fix wrt comment #3684 (comment) . * Fix handling of gax-retries for non-ZB - Create and hold raw storage control clients for both with and without gax retry scenarios. - For shared controlClient held in storageHandle, wrap the raw storage control client without gax retries with billing project, and enhanced retries for storage-layout. - For ZB, wrap the raw storage control client without gax retries with billing project, and enhanced retries for all APIs. - For non-ZB, wrap the raw storage control client with gax retries for folder APIs, with billing project, and enhanced retries for storage-layout.
Description
This is a reopen of #3682 which got unintentionally closed.
This extends feat: Retry stalled GetStorageLayout API call for zonal buckets #3561 (created as a split from the same for easy of review)This pull request introduces a new retry mechanism for stalled Folder API calls specifically for zonal buckets in gcsfuse. It replaces the existing GAX retries for these operations, aiming to improve robustness for zonal bucket interactions without affecting non-zonal buckets.
Highlights
DeleteFolder,GetFolder,RenameFolder, andCreateFolderAPI calls, specifically for zonal buckets.enableRetriesOnFolderAPIsflag, ensuring it only affects zonal buckets.BucketHandlemethod to dynamically apply the appropriate control client wrapper (either the new retry logic for zonal buckets or GAX retries for non-zonal buckets) based on the bucket's type.Link to the issue in case of a bug fix.
b/432458611
b/434621770
b/437834129
b/438631653
Testing details
Any backward incompatible change? If so, please explain.