-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
S3: implement ObjectParts in GetObjectAttributes #12764
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
Conversation
S3 Image Test Results (AMD64 / ARM64) 2 files 2 suites 8m 49s ⏱️ Results for commit ea605bc. |
Test Results - Preflight, Unit21 621 tests 19 964 ✅ 6m 15s ⏱️ Results for commit ea605bc. |
Test Results (amd64) - Acceptance7 tests 5 ✅ 3m 8s ⏱️ Results for commit ea605bc. |
Test Results - Alternative Providers987 tests 589 ✅ 30m 35s ⏱️ Results for commit ea605bc. |
Test Results (amd64) - Integration, Bootstrap 5 files 5 suites 1h 25m 9s ⏱️ Results for commit ea605bc. |
LocalStack Community integration with Pro 2 files 2 suites 1h 2m 12s ⏱️ Results for commit ea605bc. |
k-a-il
left a comment
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, thank you for jumping on this issue!
Motivation
As reported by #12757, we dit not return the full
ObjectPartsresponse in S3.The behavior is different if the checksum specified when creating the Multipart Upload with
CreateMultipartUploadis of typeCOMPOSITEorFULL_OBJECT. When it isCOMPOSITE, any call toGetObjectAttributeswith theObjectPartsattribute specified should act like aListPartscall.There was a TODO left about it, and this PR implements it.
It needed a change in API as we were not saving the metadata related to the Parts used to create the end object (we only store the data necessary to support
PartNumberinGetObject, via theget_part_rangefunction). This minor change in API is properly covered defensively to avoid issues when using this functionality (GetObjectwith thePartNumberparameter, or theGetObjectAttributescall) with a restored state from a previous version.Changes
GetObjectAttributeswithObjectPartsspecified