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]

Reply via email to