Skip to content
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: support configurable retries in upload_chunks_concurrently #1120

Merged
merged 5 commits into from
Sep 19, 2023

Conversation

andrewsg
Copy link
Contributor

No description provided.

@andrewsg andrewsg requested review from a team as code owners September 18, 2023 20:08
@product-auto-label product-auto-label bot added size: s Pull request size is small. api: storage Issues related to the googleapis/python-storage API. labels Sep 18, 2023
@@ -1075,6 +1096,7 @@ def _upload_part(
checksum=checksum,
headers=headers,
)
part._retry_strategy = _api_core_retry_to_resumable_media_retry(retry)
Copy link
Contributor

Choose a reason for hiding this comment

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

I think this would work, thanks for adding! Curious what is the idempotency for XML API multipart uploads? I see in the documentation that preconditions are not supported, but didn't see any remarks on idempotency.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Part uploads and finalize are fully idempotent because they're associated with an upload ID.

Initialize is not fully idempotent but since an extra upload is empty and therefore not billed for storage, the consequences of occasionally getting an extra upload are near zero. I made the decision reliability in this case is better than quibbling over the details of the init call.

@andrewsg andrewsg merged commit 1271686 into main Sep 19, 2023
13 checks passed
@andrewsg andrewsg deleted the tm-mpu-retries branch September 19, 2023 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: storage Issues related to the googleapis/python-storage API. size: s Pull request size is small.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants