[ 
https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=295879&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-295879
 ]

ASF GitHub Bot logged work on HDDS-1948:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 15/Aug/19 23:30
            Start Date: 15/Aug/19 23:30
    Worklog Time Spent: 10m 
      Work Description: bharatviswa504 commented on pull request #1266: 
HDDS-1948. S3 MPU can't be created with octet-stream content-type 
URL: https://github.com/apache/hadoop/pull/1266#discussion_r314537125
 
 

 ##########
 File path: 
hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/HeaderPreprocessor.java
 ##########
 @@ -17,39 +17,58 @@
  */
 package org.apache.hadoop.ozone.s3;
 
+import javax.annotation.Priority;
 import javax.ws.rs.container.ContainerRequestContext;
 import javax.ws.rs.container.ContainerRequestFilter;
 import javax.ws.rs.container.PreMatching;
 import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.Provider;
 import java.io.IOException;
 
 /**
  * Filter to adjust request headers for compatible reasons.
+ *
+ * It should be executed AFTER signature check (VirtualHostStyleFilter).
  */
-
 @Provider
 @PreMatching
+@Priority(150)
 
 Review comment:
   Is this priority setting is done, to perform this Preprocessing after 
VirtualHostStyleFilter processing.
   Can we define these constants and use them, instead of hardcoded values.
 
----------------------------------------------------------------
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:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 295879)
    Time Spent: 40m  (was: 0.5h)

> S3 MPU can't be created with octet-stream content-type 
> -------------------------------------------------------
>
>                 Key: HDDS-1948
>                 URL: https://issues.apache.org/jira/browse/HDDS-1948
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>          Components: S3
>            Reporter: Elek, Marton
>            Assignee: Elek, Marton
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> This problem is reported offline by [~shaneku...@gmail.com].
> 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).



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to