[
https://issues.apache.org/jira/browse/HDDS-1213?focusedWorklogId=207155&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-207155
]
ASF GitHub Bot logged work on HDDS-1213:
----------------------------------------
Author: ASF GitHub Bot
Created on: 04/Mar/19 14:05
Start Date: 04/Mar/19 14:05
Worklog Time Spent: 10m
Work Description: elek commented on pull request #549: HDDS-1213. Support
plain text S3 MPU initialization request
URL: https://github.com/apache/hadoop/pull/549
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.
See: https://issues.apache.org/jira/browse/HDDS-1213
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 207155)
Time Spent: 10m
Remaining Estimate: 0h
> 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
> Priority: Blocker
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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]