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

Haohui Mai commented on HDFS-5596:
----------------------------------

Thanks Chris for the comments. The v2 patch fixes 2 and 4. Here are my thoughts 
on 1 and 3:

bq. ClientProtocol: All RPCs can be annotated idempotent.

It seems that removeAcl() / removeAclEntries() / removeDefaultAcl() cannot be 
idempotent. If Alice calls removeAcl() while Bob is changing the ACLs, 
re-executing removeAcl() could cause data loss. The reason is similar to the 
one that the RPC about deletion are at-most-once, but not idempotent.

bq. DFSClient: There are a few more exception types that would be helpful to 
unwrap on the modification operations...

I'm not sure that whether {{SnapshotAccessControlException}} and 
{{NSQuotaExceededException}} should be unwrapped, therefore I left these two 
out of this patch. We can revisit this when we start to integrate ACLs with 
snapshots and quotas. I updated the code to unwrap the other exceptions that 
you mentioned.

> Implement RPC stubs
> -------------------
>
>                 Key: HDFS-5596
>                 URL: https://issues.apache.org/jira/browse/HDFS-5596
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client, namenode
>    Affects Versions: HDFS ACLs (HDFS-4685)
>            Reporter: Chris Nauroth
>            Assignee: Haohui Mai
>         Attachments: HDFS-5596.000.patch, HDFS-5596.001.patch, 
> HDFS-5596.002.patch
>
>
> Implement RPC stubs for both {{DistributedFileSystem}} and 
> {{NameNodeRpcServer}}.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to