andyhuangdev opened a new pull request, #11900:
URL: https://github.com/apache/ozone/pull/11900

   ## What changes were proposed in this pull request?
   
   In FSO buckets, multipart upload initiation succeeds when an ancestor of the 
requested key is an existing file. Subsequent UploadPart requests fail with 
HTTP 500 InternalError, leaving an unusable multipart upload.
   
   This patch rejects initiation with NOT_A_FILE when a file exists in the 
parent path and maps NOT_A_FILE to HTTP 400 InvalidRequest in S3 Gateway. This 
makes multipart uploads consistent with PutObject while preserving uploads that 
overwrite an existing leaf file.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-17644
   
   ## How was this patch tested?
   
   Regression tests were added and confirmed to fail before applying the fix. 
They cover invalid file ancestors, valid file overwrite, absence of multipart 
metadata after rejection, and S3 error translation for initiation and direct or 
wrapped UploadPart exceptions.
   
   All 182 tests across the relevant OM and S3 Gateway test classes passed, 
including existing PutObject, multipart copy, and completion tests. Checkstyle 
and git diff --check also passed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to