[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=300072=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-300072 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 23/Aug/19 06:15 Start Date: 23/Aug/19 06:15 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 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: 300072) Time Spent: 2h 40m (was: 2.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 > Fix For: 0.5.0 > > Time Spent: 2h 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:/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 (v8.3.2#803003) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=300071=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-300071 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 23/Aug/19 06:15 Start Date: 23/Aug/19 06:15 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_r316986612 ## 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: This approach LGTM, clear to understand. 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: 300071) Time Spent: 2.5h (was: 2h 20m) > 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 > Fix For: 0.5.0 > > Time Spent: 2.5h > 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:/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 (v8.3.2#803003) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=299468=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-299468 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 22/Aug/19 14:21 Start Date: 22/Aug/19 14:21 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-523927886 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 77 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 5 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 672 | trunk passed | | +1 | compile | 464 | trunk passed | | +1 | checkstyle | 95 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 1101 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 206 | trunk passed | | 0 | spotbugs | 516 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 760 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 688 | the patch passed | | +1 | compile | 447 | the patch passed | | +1 | javac | 447 | the patch passed | | +1 | checkstyle | 97 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 872 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 210 | the patch passed | | +1 | findbugs | 835 | the patch passed | ||| _ Other Tests _ | | -1 | unit | 406 | hadoop-hdds in the patch failed. | | -1 | unit | 2257 | hadoop-ozone in the patch failed. | | +1 | asflicense | 42 | The patch does not generate ASF License warnings. | | | | 9412 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.hdds.scm.block.TestBlockManager | | | hadoop.hdds.scm.pipeline.TestSCMPipelineManager | | | hadoop.ozone.client.rpc.TestContainerStateMachineFailures | | | hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures | | | hadoop.ozone.client.rpc.TestOzoneRpcClientForAclAuditLog | | | hadoop.ozone.container.server.TestSecureContainerServer | | | hadoop.ozone.client.rpc.TestFailureHandlingByClient | | | hadoop.hdds.scm.pipeline.TestRatisPipelineCreateAndDestory | | | hadoop.ozone.client.rpc.Test2WayCommitInRatis | | | hadoop.ozone.client.rpc.TestWatchForCommit | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/5/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1266 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 1724feeb2378 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / ee7c261 | | Default Java | 1.8.0_222 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/5/artifact/out/patch-unit-hadoop-hdds.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/5/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/5/testReport/ | | Max. process+thread count | 4803 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/s3gateway U: hadoop-ozone/s3gateway | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/5/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. 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: 299468) Time Spent: 2h 20m (was: 2h 10m) > S3 MPU can't be created with octet-stream content-type > --- > > Key: HDDS-1948 > URL:
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=298614=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-298614 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 21/Aug/19 11:45 Start Date: 21/Aug/19 11:45 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-523420799 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 120 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 5 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 744 | trunk passed | | +1 | compile | 438 | trunk passed | | +1 | checkstyle | 84 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 1098 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 208 | trunk passed | | 0 | spotbugs | 518 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 772 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 678 | the patch passed | | +1 | compile | 453 | the patch passed | | +1 | javac | 453 | the patch passed | | +1 | checkstyle | 94 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 805 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 164 | the patch passed | | +1 | findbugs | 688 | the patch passed | ||| _ Other Tests _ | | +1 | unit | 361 | hadoop-hdds in the patch passed. | | -1 | unit | 2309 | hadoop-ozone in the patch failed. | | +1 | asflicense | 41 | The patch does not generate ASF License warnings. | | | | 9245 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.ozone.client.rpc.TestReadRetries | | | hadoop.ozone.TestMiniOzoneCluster | | | hadoop.ozone.client.rpc.TestSecureOzoneRpcClient | | | hadoop.ozone.client.rpc.TestContainerStateMachine | | | hadoop.hdds.scm.pipeline.TestRatisPipelineCreateAndDestory | | | hadoop.ozone.container.server.TestSecureContainerServer | | | hadoop.ozone.client.rpc.TestOzoneAtRestEncryption | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/4/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1266 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 2a330f2e5a5b 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 10ec31d | | Default Java | 1.8.0_212 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/4/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/4/testReport/ | | Max. process+thread count | 5344 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/s3gateway U: hadoop-ozone/s3gateway | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/4/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. 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: 298614) Time Spent: 2h 10m (was: 2h) > 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: 2h 10m >
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=298514=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-298514 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 21/Aug/19 08:30 Start Date: 21/Aug/19 08:30 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-522054713 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 40 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 1 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 5 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 641 | trunk passed | | +1 | compile | 370 | trunk passed | | +1 | checkstyle | 69 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 192 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 157 | trunk passed | | 0 | spotbugs | 460 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 673 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 588 | the patch passed | | +1 | compile | 377 | the patch passed | | +1 | javac | 377 | the patch passed | | +1 | checkstyle | 70 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 768 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 160 | the patch passed | | +1 | findbugs | 654 | the patch passed | ||| _ Other Tests _ | | +1 | unit | 292 | hadoop-hdds in the patch passed. | | -1 | unit | 198 | hadoop-ozone in the patch failed. | | +1 | asflicense | 38 | The patch does not generate ASF License warnings. | | | | 5420 | | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1266 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 7226929f3727 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 9b8359b | | Default Java | 1.8.0_222 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/testReport/ | | Max. process+thread count | 1289 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/s3gateway U: hadoop-ozone/s3gateway | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. 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: 298514) Time Spent: 1h 50m (was: 1h 40m) > 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: 1h 50m > 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 >
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=298515=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-298515 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 21/Aug/19 08:30 Start Date: 21/Aug/19 08:30 Worklog Time Spent: 10m Work Description: elek 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_r316050595 ## 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. (Is there any reason to do in this order?) Yes, the Content-Type headers can be part of the headers which are part of the signature. Therefore we need to check the signature first and modify the Content-Type header after. > Can we define these constants and use them, instead of hardcoded values. Well, it's random value anyway and used only in this one place ;-) But I improved it with constants to express the dependencies: ```java @Priority(VirtualHostStyleFilter.PRIORITY + S3GatewayHttpServer.FILTER_PRIORITY_DO_AFTER) public class HeaderPreprocessor implements ContainerRequestFilter { ``` 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: 298515) Time Spent: 2h (was: 1h 50m) > 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: 2h > 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:/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 (v8.3.2#803003) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=298512=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-298512 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 21/Aug/19 08:29 Start Date: 21/Aug/19 08:29 Worklog Time Spent: 10m Work Description: elek commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-523354587 bq. Some of the S3 tests are failing, can you verify if they are related, as failed tests are related to S3 MPU. I tested locally and worked well. Let's wait for an other jenkins result... 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: 298512) Time Spent: 1.5h (was: 1h 20m) > 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: 1.5h > 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:/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 (v8.3.2#803003) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=298513=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-298513 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 21/Aug/19 08:29 Start Date: 21/Aug/19 08:29 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-523030286 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 56 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 5 new or modified test files. | ||| _ trunk Compile Tests _ | | -1 | mvninstall | 7 | hadoop-hdds in trunk failed. | | -1 | mvninstall | 27 | hadoop-ozone in trunk failed. | | +1 | compile | 418 | trunk passed | | +1 | checkstyle | 65 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 811 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 156 | trunk passed | | 0 | spotbugs | 439 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 643 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 573 | the patch passed | | +1 | compile | 373 | the patch passed | | +1 | javac | 373 | the patch passed | | +1 | checkstyle | 67 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 630 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 148 | the patch passed | | +1 | findbugs | 629 | the patch passed | ||| _ Other Tests _ | | +1 | unit | 291 | hadoop-hdds in the patch passed. | | -1 | unit | 1848 | hadoop-ozone in the patch failed. | | +1 | asflicense | 39 | The patch does not generate ASF License warnings. | | | | 6918 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.ozone.container.server.TestSecureContainerServer | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1266 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 7cf7b9774e06 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 6244502 | | Default Java | 1.8.0_212 | | mvninstall | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/branch-mvninstall-hadoop-hdds.txt | | mvninstall | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/branch-mvninstall-hadoop-ozone.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/testReport/ | | Max. process+thread count | 4675 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/s3gateway U: hadoop-ozone/s3gateway | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. 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: 298513) Time Spent: 1h 40m (was: 1.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: 1h 40m >
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=298508=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-298508 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 21/Aug/19 08:13 Start Date: 21/Aug/19 08:13 Worklog Time Spent: 10m Work Description: elek 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_r316050595 ## 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. (Is there any reason to do in this order?) Yes, the Content-Type headers can be part of the headers which are part of the signature. Therefore we need to check the signature first and modify the Content-Type header after. > Can we define these constants and use them, instead of hardcoded values. Well, it's hardcoded value anyway and used only in this one place. But I improved it with constants to express the dependencies: ``` @Priority(VirtualHostStyleFilter.PRIORITY + S3GatewayHttpServer.FILTER_PRIORITY_DO_AFTER) public class HeaderPreprocessor implements ContainerRequestFilter { ``` 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: 298508) Time Spent: 1h 20m (was: 1h 10m) > 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: 1h 20m > 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:/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 (v8.3.2#803003) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=297900=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-297900 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 20/Aug/19 14:04 Start Date: 20/Aug/19 14:04 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-523030286 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 56 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 5 new or modified test files. | ||| _ trunk Compile Tests _ | | -1 | mvninstall | 7 | hadoop-hdds in trunk failed. | | -1 | mvninstall | 27 | hadoop-ozone in trunk failed. | | +1 | compile | 418 | trunk passed | | +1 | checkstyle | 65 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 811 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 156 | trunk passed | | 0 | spotbugs | 439 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 643 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 573 | the patch passed | | +1 | compile | 373 | the patch passed | | +1 | javac | 373 | the patch passed | | +1 | checkstyle | 67 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 630 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 148 | the patch passed | | +1 | findbugs | 629 | the patch passed | ||| _ Other Tests _ | | +1 | unit | 291 | hadoop-hdds in the patch passed. | | -1 | unit | 1848 | hadoop-ozone in the patch failed. | | +1 | asflicense | 39 | The patch does not generate ASF License warnings. | | | | 6918 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.ozone.container.server.TestSecureContainerServer | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1266 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 7cf7b9774e06 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 6244502 | | Default Java | 1.8.0_212 | | mvninstall | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/branch-mvninstall-hadoop-hdds.txt | | mvninstall | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/branch-mvninstall-hadoop-ozone.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/testReport/ | | Max. process+thread count | 4675 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/s3gateway U: hadoop-ozone/s3gateway | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/3/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. 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: 297900) Time Spent: 1h 10m (was: 1h) > 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: 1h 10m > Remaining
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=296349=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-296349 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 16/Aug/19 15:42 Start Date: 16/Aug/19 15:42 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-522054713 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 40 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 1 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 5 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 641 | trunk passed | | +1 | compile | 370 | trunk passed | | +1 | checkstyle | 69 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 192 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 157 | trunk passed | | 0 | spotbugs | 460 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 673 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 588 | the patch passed | | +1 | compile | 377 | the patch passed | | +1 | javac | 377 | the patch passed | | +1 | checkstyle | 70 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 768 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 160 | the patch passed | | +1 | findbugs | 654 | the patch passed | ||| _ Other Tests _ | | +1 | unit | 292 | hadoop-hdds in the patch passed. | | -1 | unit | 198 | hadoop-ozone in the patch failed. | | +1 | asflicense | 38 | The patch does not generate ASF License warnings. | | | | 5420 | | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1266 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 7226929f3727 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / 9b8359b | | Default Java | 1.8.0_222 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/testReport/ | | Max. process+thread count | 1289 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/s3gateway U: hadoop-ozone/s3gateway | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/2/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. 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: 296349) Time Spent: 1h (was: 50m) > 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: 1h > 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 >
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=295881=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-295881 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 15/Aug/19 23:33 Start Date: 15/Aug/19 23:33 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. (Is there any reason to do in this order?) 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: 295881) Time Spent: 50m (was: 40m) > 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: 50m > 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:/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
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=295879=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:/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
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=295878=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-295878 ] 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 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: 295878) Time Spent: 0.5h (was: 20m) > 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: 0.5h > 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:/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
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=292498=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-292498 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 10/Aug/19 09:15 Start Date: 10/Aug/19 09:15 Worklog Time Spent: 10m Work Description: hadoop-yetus commented on issue #1266: HDDS-1948. S3 MPU can't be created with octet-stream content-type URL: https://github.com/apache/hadoop/pull/1266#issuecomment-520133277 :broken_heart: **-1 overall** | Vote | Subsystem | Runtime | Comment | |::|--:|:|:| | 0 | reexec | 42 | Docker mode activated. | ||| _ Prechecks _ | | +1 | dupname | 0 | No case conflicting files found. | | +1 | @author | 0 | The patch does not contain any @author tags. | | +1 | test4tests | 0 | The patch appears to include 5 new or modified test files. | ||| _ trunk Compile Tests _ | | +1 | mvninstall | 593 | trunk passed | | +1 | compile | 375 | trunk passed | | +1 | checkstyle | 76 | trunk passed | | +1 | mvnsite | 0 | trunk passed | | +1 | shadedclient | 868 | branch has no errors when building and testing our client artifacts. | | +1 | javadoc | 170 | trunk passed | | 0 | spotbugs | 423 | Used deprecated FindBugs config; considering switching to SpotBugs. | | +1 | findbugs | 620 | trunk passed | ||| _ Patch Compile Tests _ | | +1 | mvninstall | 551 | the patch passed | | +1 | compile | 376 | the patch passed | | +1 | javac | 376 | the patch passed | | +1 | checkstyle | 84 | the patch passed | | +1 | mvnsite | 0 | the patch passed | | +1 | whitespace | 0 | The patch has no whitespace issues. | | +1 | shadedclient | 674 | patch has no errors when building and testing our client artifacts. | | +1 | javadoc | 168 | the patch passed | | +1 | findbugs | 632 | the patch passed | ||| _ Other Tests _ | | -1 | unit | 296 | hadoop-hdds in the patch failed. | | -1 | unit | 1766 | hadoop-ozone in the patch failed. | | +1 | asflicense | 56 | The patch does not generate ASF License warnings. | | | | 7525 | | | Reason | Tests | |---:|:--| | Failed junit tests | hadoop.hdds.scm.safemode.TestSCMSafeModeManager | | | hadoop.ozone.client.rpc.TestOzoneRpcClient | | | hadoop.ozone.client.rpc.TestSecureOzoneRpcClient | | | hadoop.ozone.client.rpc.TestMultiBlockWritesWithDnFailures | | | hadoop.ozone.client.rpc.TestOzoneAtRestEncryption | | | hadoop.hdds.scm.pipeline.TestRatisPipelineProvider | | | hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures | | Subsystem | Report/Notes | |--:|:-| | Docker | Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/1/artifact/out/Dockerfile | | GITHUB PR | https://github.com/apache/hadoop/pull/1266 | | Optional Tests | dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux be2ffc260e5d 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | personality/hadoop.sh | | git revision | trunk / fba222a | | Default Java | 1.8.0_212 | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/1/artifact/out/patch-unit-hadoop-hdds.txt | | unit | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/1/artifact/out/patch-unit-hadoop-ozone.txt | | Test Results | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/1/testReport/ | | Max. process+thread count | 4900 (vs. ulimit of 5500) | | modules | C: hadoop-ozone/s3gateway U: hadoop-ozone/s3gateway | | Console output | https://builds.apache.org/job/hadoop-multibranch/job/PR-1266/1/console | | versions | git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1 | | Powered by | Apache Yetus 0.10.0 http://yetus.apache.org | This message was automatically generated. 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: 292498) Time Spent: 20m (was: 10m) > 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 >
[jira] [Work logged] (HDDS-1948) S3 MPU can't be created with octet-stream content-type
[ https://issues.apache.org/jira/browse/HDDS-1948?focusedWorklogId=292471=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-292471 ] ASF GitHub Bot logged work on HDDS-1948: Author: ASF GitHub Bot Created on: 10/Aug/19 07:09 Start Date: 10/Aug/19 07:09 Worklog Time Spent: 10m Work Description: elek 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 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:/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: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 292471) Time Spent: 10m Remaining Estimate: 0h > 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: 10m > 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 >