Bablu Raul created HDDS-17572:
---------------------------------
Summary: CompleteMultipartUpload Calculates Incorrect ETag and
PartsCount When Completing with a Subset of Uploaded Parts
Key: HDDS-17572
URL: https://issues.apache.org/jira/browse/HDDS-17572
Project: Apache Ozone
Issue Type: Bug
Reporter: Bablu Raul
When completing an S3 multipart upload using a subset of the uploaded parts,
Ozone S3 Gateway successfully creates the object with the correct content but
calculates the ETag and reports {{PartsCount}} based on all uploaded parts
rather than only the parts included in the {{CompleteMultipartUpload}} request.
h3. Steps to Reproduce
# Create an S3 bucket and initiate a multipart upload.
# Create and upload three parts, each 5 MiB in size (Part 1, Part 2, and Part
3).
# Run {{ListParts}} and verify that all three parts are uploaded successfully.
# Complete the multipart upload using only Part 1 and Part 3, intentionally
excluding Part 2.
# Run {{HeadObject}} and inspect the {{{}ETag{}}}, {{{}ContentLength{}}}, and
{{{}PartsCount{}}}.
# Download the completed object and verify its content.
h3. Actual Result
* {{CompleteMultipartUpload}} succeeds when the request contains only Parts 1
and 3.
* The completed object has the expected {{ContentLength}} of 10 MiB (10485760
bytes).
* The downloaded object contains the contents of Parts 1 and 3, confirming
that Part 2 is excluded.
* {{HeadObject}} reports {{PartsCount: 3}} instead of {{{}2{}}}.
* The returned ETag is {{{}1ecf792aa5bbae8b9206c49a31a86a3a-3{}}}, which
matches the calculation using all three uploaded part ETags rather than only
Parts 1 and 3.
h3. Expected Result
* {{CompleteMultipartUpload}} should calculate the completed object's metadata
using only the parts specified in the completion request.
* {{ContentLength}} should be 10485760 bytes.
* {{PartsCount}} should be {{{}2{}}}.
* The multipart ETag should be calculated using only the ETags of Parts 1 and
3, following the S3 multipart ETag calculation rules.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]