hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Peterson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-11687) Ignore x-emc-* headers when copying an Amazon S3 object
Date Thu, 05 Nov 2015 16:38:27 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-11687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14991941#comment-14991941
] 

Aaron Peterson commented on HADOOP-11687:
-----------------------------------------

Implementing a different cloning method seems to alleviate the COPY issue:

1092c1092
<     final ObjectMetadata dstom = srcom.clone();
---
>     ObjectMetadata dstom = copyOfObjMetadata(srcom);
1197a1198,1224
>   // Constructs copy of object metadata
>   private ObjectMetadata copyOfObjMetadata(ObjectMetadata source) {
>     ObjectMetadata ret = new ObjectMetadata();
>     ret.setCacheControl(source.getCacheControl());
>     ret.setContentDisposition(source.getContentDisposition());
>     ret.setContentEncoding(source.getContentEncoding());
>     ret.setContentLength(source.getContentLength());
>     ret.setContentMD5(source.getContentMD5());
>     ret.setContentType(source.getContentType());
>     ret.setExpirationTime(source.getExpirationTime());
>     ret.setExpirationTimeRuleId(source.getExpirationTimeRuleId());
>     ret.setHttpExpiresDate(source.getHttpExpiresDate());
>     ret.setLastModified(source.getLastModified());
>     ret.setOngoingRestore(source.getOngoingRestore());
>     ret.setRestoreExpirationTime(source.getRestoreExpirationTime());
>     ret.setSSEAlgorithm(source.getSSEAlgorithm());
>     ret.setSSECustomerAlgorithm(source.getSSECustomerAlgorithm());
>     ret.setSSECustomerKeyMd5(source.getSSECustomerKeyMd5());
>     if (source.getUserMetadata().isEmpty() != Boolean.TRUE) {
>         java.util.Map<String, String> smd = source.getUserMetadata();
>         for (String key : smd.keySet()) {
>             ret.addUserMetadata(key, smd.get(key));
>         }
>     }
>     return ret;
>   }
> 

> Ignore x-emc-* headers when copying an Amazon S3 object
> -------------------------------------------------------
>
>                 Key: HADOOP-11687
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11687
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: fs/s3
>    Affects Versions: 2.7.0
>            Reporter: Denis Jannot
>
> The EMC ViPR/ECS object storage platform uses proprietary headers starting by x-emc-*
(like Amazon does with x-amz-*).
> Headers starting by x-emc-* should be included in the signature computation, but it's
not done by the Amazon S3 Java SDK (it's done by the EMC S3 SDK).
> When s3a copy an object it copies all the headers, but when the object includes x-emc-*
headers, it generates a signature mismatch.
> Removing the x-emc-* headers from the copy would allow s3a to be compatible with the
EMC ViPR/ECS object storage platform.
> Removing the x-* which aren't x-amz-* headers from the copy would allow s3a to be compatible
with any object storage platform which is using proprietary headers



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message