elek opened a new pull request #1266: HDDS-1948. S3 MPU can't be created with 
octet-stream content-type 
URL: https://github.com/apache/hadoop/pull/1266
 
 
   This problem is reported offline by [[email protected]].
   
   When aws-sdk-go is used to access to s3 gateway of Ozone it sends the Multi 
Part Upload initialize message with "application/octet-stream" Content-Type. 
   
   This Content-Type is missing from the aws-cli which is used to reimplement 
s3 endpoint.
   
   The problem is that we use the same rest endpoint for initialize and 
complete Multipart Upload request. For the completion we need the 
CompleteMultipartUploadRequest parameter which is parsed from the body.
   
   For initialize we have an empty body which can't be serialized to 
CompleteMultipartUploadRequest.
   
   The workaround is to set a specific content type from a filter which help up 
to create two different REST method for initialize and completion message.
   
   Here is an example to test (using bogus AWS credentials).
   
   {code}
   curl -H 'Host:yourhost' -H 'User-Agent:aws-sdk-go/1.15.11 (go1.11.2; linux; 
amd64)' -H 'Content-Length:0' -H 'Authorization:AWS4-HMAC-SHA256 
Credential=qwe/20190809/ozone/s3/aws4_request, 
SignedHeaders=content-type;host;x-amz-acl;x-amz-content-sha256;x-amz-date;x-amz-storage-class,
 Signature=7726ed63990ba3f4f1f796d4ab263f5d9c3374528840f5e49d106dbef491f22c' -H 
'Content-Type:application/octet-stream' -H 'X-Amz-Acl:private' -H 
'X-Amz-Content-Sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
 -H 'X-Amz-Date:20190809T070142Z' -H 'X-Amz-Storage-Class:STANDARD' -H 
'Accept-Encoding:gzip' -X POST 
'http://localhost:9999/docker/docker/registry/v2/repositories/apache/ozone-runner/_uploads/2173f019-09c3-466b-bb7d-c31ce749d826/data?uploads
   {code}
   
   Without the patch it returns with HTTP 405 (Not supported Media Type).
   
   See: https://issues.apache.org/jira/browse/HDDS-1948

----------------------------------------------------------------
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]


With regards,
Apache Git Services

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

Reply via email to