Łukasz Piepiora created SPARK-11353:
---------------------------------------
Summary: Writing to S3 buckets, which only support
AWS4-HMAC-SHA256 fails
Key: SPARK-11353
URL: https://issues.apache.org/jira/browse/SPARK-11353
Project: Spark
Issue Type: Bug
Components: Input/Output
Affects Versions: 1.5.1, 1.3.1
Reporter: Łukasz Piepiora
For certain regions like for example Frankfurt (eu-central-1) AWS supports only
[AWS Signature Version
4|http://docs.aws.amazon.com/general/latest/gr/rande.html#d0e3788].
Currently Spark is using jets3t library in version 0.9.3, which throws an
exception when code tries to save files in S3 in eu-central-1.
{code}
Caused by: java.lang.RuntimeException: Failed to automatically set required
header "x-amz-content-sha256" for request with entity
org.jets3t.service.impl.rest.httpclient.RepeatableRequestEntity@1e4bc601
at
org.jets3t.service.utils.SignatureUtils.awsV4GetOrCalculatePayloadHash(SignatureUtils.java:238)
at
org.jets3t.service.impl.rest.httpclient.RestStorageService.authorizeHttpRequest(RestStorageService.java:762)
at
org.jets3t.service.impl.rest.httpclient.RestStorageService.performRequest(RestStorageService.java:324)
at
org.jets3t.service.impl.rest.httpclient.RestStorageService.performRequest(RestStorageService.java:277)
at
org.jets3t.service.impl.rest.httpclient.RestStorageService.performRestPut(RestStorageService.java:1143)
at
org.jets3t.service.impl.rest.httpclient.RestStorageService.createObjectImpl(RestStorageService.java:1954)
at
org.jets3t.service.impl.rest.httpclient.RestStorageService.putObjectWithRequestEntityImpl(RestStorageService.java:1875)
at
org.jets3t.service.impl.rest.httpclient.RestStorageService.putObjectImpl(RestStorageService.java:1867)
at org.jets3t.service.StorageService.putObject(StorageService.java:840)
at org.jets3t.service.S3Service.putObject(S3Service.java:2212)
at org.jets3t.service.S3Service.putObject(S3Service.java:2356)
... 23 more
Caused by: java.io.IOException: Stream closed
at
java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:170)
at java.io.BufferedInputStream.reset(BufferedInputStream.java:446)
at
org.jets3t.service.utils.SignatureUtils.awsV4GetOrCalculatePayloadHash(SignatureUtils.java:236)
... 33 more
{code}
There is a newer version of jets3t 0.9.4, which seems to fix this issue
(http://www.jets3t.org/RELEASE_NOTES.html).
Therefore I suggest to upgrade jets3t dependency from 0.9.3 to 0.9.4 for Hadoop
profiles.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]