Skip to content

Commit 6323357

Browse files
authored
Added logic to retry transient failures for all operations in desktop storage implementation. (#824)
* Update GetBytes to repreatedly sent requests until one succeeds * Generalized retry logic, added retry to GetFile, added exponential backoff, no longer cancel once deadline is reached, just don't retry after this point. Added integration test that retries 404 errors. * some minor cleanup - removed temporary debug logs in the integration test, defined constants for initial and max sleep time * Make changes based on review feedback * Changes based on review feedback * Add retry logic to all operations in desktop storage implementation, not just get bytes * Only extern g_retry_file_not_found_for_testing in FIREBASE_PLATFORM_DESKTOP version of integration tests * Add integration tests to retry GetBytes, GetFile, GetMetadata, and Delete * Add integration test to retry PutFile by having nonexistent local file * Update release notes * single variable to retry all errors and other minor review feedback * Remove unused include
1 parent dcb0b3b commit 6323357

File tree

4 files changed

+756
-82
lines changed

4 files changed

+756
-82
lines changed

release_build_files/readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,7 @@ code.
573573
initialization of Firebase iOS SDK.
574574
- Remote Config: Fixed default `Fetch()` timeout being 1000 times too
575575
high.
576+
- Storage (Desktop): Added retry logic to PutFile, GetFile, and other operations.
576577

577578
### 8.9.0
578579
- Changes

0 commit comments

Comments
 (0)