[ 
https://issues.apache.org/jira/browse/HDFS-6331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uma Maheswara Rao G updated HDFS-6331:
--------------------------------------

    Attachment: HDFS-6331.patch

Thanks for spotting this issue.
Yes you are right. With default flags of setXattrs, we will not have an issue 
because we just do REPLACE if exist and CREATE if not there.
But the issue with CREATE flag. Once before returning the RPC response back if 
the network broken, the client retry may attempt CREATE again and it will throw 
the exception to user as Xattr already created with previous call.
While I verified it  have changes on this issue. Just uploading a patch with a 
test what TestRetryCacheWithHA covering for retryCache.

> 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
>         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)

Reply via email to