Repository navigation
Copy metadata, tags and annotations in multipart copies #1036
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
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
f0834d3
Copy metadata, tags and annotations in multipart copies
laughingman7743 48e24e0
Qualify the ObjectIfMatch guard by the ETag
laughingman7743 e2abc1e
Target the copied version with annotations and invalidate failed copies
laughingman7743 482d4b7
Require botocore and boto3 1.43.31 for the annotation operations
laughingman7743 568770c
Pin multipart copies to the source version and list annotations first
laughingman7743 a081e43
Copy the size that HeadObject reports and do not pin null versions
laughingman7743 95d039c
Qualify the version pinning by the reported version ID
laughingman7743 738d8ea
Do not state that every write replaces a null version
laughingman7743 3f1adc5
Copy the parts of the stubbed multipart copies in order
laughingman7743 2154780
Copy with CopyObject when HeadObject reports a small size
laughingman7743 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Self-review round 2 (claims, callers, AWS effects): base
de8cc52ac2a43cdba72bb4571c185883287741fc, heada42788c8ad454869c9cf24a17b33b2520f025ba8. Result: CLEAN after the PR-body corrections (theObjectIfMatchwording and the added Limits).Claims checked:
COPY,COPYwithContentType/Metadata/Tagging,REPLACE,TaggingDirective=REPLACEwithoutTagging).CopySourceIfMatchleft no multipart upload.CopySourceIf*/CopySourceSSECustomer*/ExpectedSourceBucketOwner/directives": in the botocore 1.43.102 model these are not members of CreateMultipartUpload; the maintainer's comment on Multipart copies drop the source metadata, and the async multipart copy does not abort on failure #973 reported the same.ContentType/Metadata/Tagginggiven for a copy over 5 GiB is now ignored by default. This is a behavior change, release-noted.mv()raises before removing anything if the copy fails, so a failed annotation copy keeps both source and destination._call's retries. Async annotation copies are bounded bymax_workers. The new permission requirements are release-noted in the PR body and stated indocs/filesystem.md.