[ https://issues.apache.org/jira/browse/HADOOP-11687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15179928#comment-15179928 ]
Steve Loughran commented on HADOOP-11687: ----------------------------------------- replace {code} 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)); } } {code} with {code} Map<String, String> smd = source.getUserMetadata(); for (String key : smd.keySet()) { ret.addUserMetadata(key, smd.get(key)); } {code} and rely on the loop not happening if keyset is empty > 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 > Attachments: HADOOP-11687.001.patch > > > 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)