Elek, Marton created HDDS-1213:
----------------------------------
Summary: Support plain text S3 MPU initialization request
Key: HDDS-1213
URL: https://issues.apache.org/jira/browse/HDDS-1213
Project: Hadoop Distributed Data Store
Issue Type: Bug
Components: S3
Reporter: Elek, Marton
Assignee: Elek, Marton
S3 Multi-Part-Upload (MPU) is implemented recently in the Ozone s3 gateway. We
have extensive testing with using 'aws s3api' application which is passed.
But it turned out that the more simple `aws s3 cp` command fails with _405
Media type not supported error_ message
The root cause of this issue is the JAXRS implementation of the multipart
upload method:
{code}
@POST
@Produces(MediaType.APPLICATION_XML)
public Response multipartUpload(
@PathParam("bucket") String bucket,
@PathParam("path") String key,
@QueryParam("uploads") String uploads,
@QueryParam("uploadId") @DefaultValue("") String uploadID,
CompleteMultipartUploadRequest request) throws IOException, OS3Exception {
if (!uploadID.equals("")) {
//Complete Multipart upload request.
return completeMultipartUpload(bucket, key, uploadID, request);
} else {
// Initiate Multipart upload request.
return initiateMultipartUpload(bucket, key);
}
}
{code}
Here we have a CompleteMultipartUploadRequest parameter which is created by the
JAXRS framework based on the media type and the request body. With
_Content-Type: application/xml_ it's easy: the JAXRS framework uses the
built-in JAXB serialization. But with plain/text content-type it's not possible
as there is no serialization support for CompleteMultipartUploadRequest from
plain/text.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]