[
https://issues.apache.org/jira/browse/HADOOP-19938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18095630#comment-18095630
]
Michael Johnson edited comment on HADOOP-19938 at 7/11/26 8:11 PM:
-------------------------------------------------------------------
Hi,
Upon deeper investigation:
* Flink 2.2.0 and Flink 2.3.0 are using Hadoop 3.3.4:
[https://github.com/apache/flink/blob/1baacaaade29ecc9dbc13b66c390b646a45d9544/flink-filesystems/pom.xml#L37]
* Hadoop 3.3.4 uses AWS SDK Java 1.12.262:
[https://github.com/apache/hadoop/blob/a585a73c3e02ac62350c136643a5e7f6095a3dbb/hadoop-project/pom.xml#L187]
* AWS SDK Java 1.12.262 does NOT implement SSE-C for CompleteMultipartUpload:
[https://github.com/aws/aws-sdk-java/blob/1.12.262/aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/model/CompleteMultipartUploadRequest.java#L41]
However:
* Next highest version of Hadoop is 3.4.0, which is using AWS SDK Java
1.12.599:
[https://github.com/apache/hadoop/blob/branch-3.4.0/hadoop-project/pom.xml#L189]
* AWS SDK Java 1.12.599 DOES implement SSE-C for CompleteMultipartUpload:
[https://github.com/aws/aws-sdk-java/blob/1.12.599/aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/model/CompleteMultipartUploadRequest.java#L41]
So I think the necessary thing is that Flink will need to upgrade Hadoop to at
least 3.4.0!
Flink already has a Jira for this!
https://issues.apache.org/jira/browse/FLINK-38350
We can probably close this JIRA! Apologies for any inconvience!
was (Author: JIRAUSER309803):
Hi,
Upon deeper investigation:
* Flink 2.2.0 and Flink 2.3.0 are using Hadoop 3.3.4:
[https://github.com/apache/flink/blob/1baacaaade29ecc9dbc13b66c390b646a45d9544/flink-filesystems/pom.xml#L37]
* Hadoop 3.3.4 uses AWS SDK Java 1.12.262:
[https://github.com/apache/hadoop/blob/a585a73c3e02ac62350c136643a5e7f6095a3dbb/hadoop-project/pom.xml#L187]
* AWS SDK Java 1.12.262 does NOT implement SSE-C for CompleteMultipartUpload:
[https://github.com/aws/aws-sdk-java/blob/1.12.262/aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/model/CompleteMultipartUploadRequest.java#L41]
However:
* Next highest version of Hadoop is 3.4.0, which is using AWS SDK Java
1.12.599:
[https://github.com/apache/hadoop/blob/branch-3.4.0/hadoop-project/pom.xml#L189]
* AWS SDK Java 1.12.599 DOES implement SSE-C for CompleteMultipartUpload:
[https://github.com/aws/aws-sdk-java/blob/1.12.599/aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/model/CompleteMultipartUploadRequest.java#L41]
So I think the necessary thing is that Flink will need to upgrade Hadoop to at
least 3.4.0!
We can probably close this JIRA! Apologies for any inconvience!
> S3A multipart upload fails at CompleteMultipartUpload when SSE-C encryption
> is enabled
> --------------------------------------------------------------------------------------
>
> Key: HADOOP-19938
> URL: https://issues.apache.org/jira/browse/HADOOP-19938
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/s3
> Affects Versions: 2.9.0, 3.0.0, 3.1.0
> Environment: Hadoop 3.1 Snapshot
> Reporter: Michael Johnson
> Assignee: Anis Elleuch
> Priority: Critical
> Fix For: 3.1.0, 2.10.0, 3.0.3
>
>
> When I enable SSE-C encryption in Hadoop 3.1 and set fs.s3a.multipart.size
> to 5 Mb, storing data in AWS doesn't work anymore. For example, running the
> following code:
> {code}
> >>> df1 = spark.read.json('/home/user/people.json')
> >>> df1.write.mode("overwrite").json("s3a://testbucket/people.json")
> {code}
> shows the following exception:
> {code:java}
> com.amazonaws.services.s3.model.AmazonS3Exception: The multipart upload
> initiate requested encryption. Subsequent part requests must include the
> appropriate encryption parameters.
> {code}
> After some investigation, I discovered that hadoop-aws doesn't send SSE-C
> headers in Put Object Part as stated in AWS specification:
> [https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPart.html]
> {code:java}
> If you requested server-side encryption using a customer-provided encryption
> key in your initiate multipart upload request, you must provide identical
> encryption information in each part upload using the following headers.
> {code}
>
> You can find a patch attached to this issue for a better clarification of the
> problem.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]