[
https://issues.apache.org/jira/browse/HDFS-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13989872#comment-13989872
]
Chris Nauroth commented on HDFS-6331:
-------------------------------------
Hi, [~andrew.wang]. I see this patch is already committed, but I just want to
confirm that I agree with your earlier statements. Because of how the flags
work, a retry may cause the 2nd application of the operation to throw an
exception, even though it should have been a valid call from the client's
perspective. Therefore, we need {{AtMostOnce}} semantics. As you said, this
differs from the behavior of {{setAcl}}, which we can classify as
{{Idempotent}}.
Thanks everyone for catching the issue and fixing it.
> ClientProtocol#setXattr should not be annotated idempotent
> ----------------------------------------------------------
>
> Key: HDFS-6331
> URL: https://issues.apache.org/jira/browse/HDFS-6331
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: namenode
> Affects Versions: HDFS XAttrs (HDFS-2006)
> Reporter: Andrew Wang
> Assignee: Uma Maheswara Rao G
> Fix For: HDFS XAttrs (HDFS-2006)
>
> Attachments: HDFS-6331.patch
>
>
> ClientProtocol#setXAttr is annotated @Idempotent, but this is incorrect since
> subsequent retries need to throw different exceptions based on the passed
> flags (e.g. CREATE, REPLACE).
--
This message was sent by Atlassian JIRA
(v6.2#6252)