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]
