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

Chris Nauroth commented on HDFS-5650:
-------------------------------------

bq. So we need to handle this from the client side itself if required...?

Yes, for the FsShell work, you can find an existing example of this in the 
implementation of chmod -r: {{FsShellPermissions#Chmod}}.  The shell command 
base classes will take care of recursively calling {{listStatus}} on children 
of the requested path.  Command subclasses just need to override a method for 
handling each child path individually.

bq. I think it is okay to go with the current approach, and to revisit it when 
we start to implement the logic in the NameNode.

OK, let's go with that.  I'll add an {{Acl}} class on the NameNode side as part 
of HDFS-5595.

A few comments on the current patch:

# {{FileSystem#getAclStatus}}: Let's also change the exception string to say 
getAclStatus instead of listAclStatus.
# {{AclStatus}}: Can you please add JavaDocs for {{isStickyBit}} and 
{{getEntries}}?  It might be as easy as a copy-paste from the old versions that 
used to be in {{Acl}}.
# {{AclStatus#Builder#addEntry}}: I believe {{entries}} can never be null, so 
there is some unreachable code here.
# {{TestHarFileSystem}}: This test is failing.  As Vinay pointed out, we need 
to rename {{listAclStatus}} to {{getAclStatus}} here.
# {{TestAcl#testAclEquals}}: It appears that all of the assertions in this test 
are now redundant with assertions in {{testStatusEquals}} and 
{{testStatusHashCode}}.  Shall we just remove this method?
# The patch introduced the following JavaDoc warnings.  Can you please clean 
these up?

{code}
[WARNING] 
/Users/chris/svn/hadoop-common-HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java:37:
 warning - Tag @link: reference not found: Acl
[WARNING] 
/Users/chris/svn/hadoop-common-HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java:139:
 warning - @param argument "entry" is not a parameter name.
[WARNING] 
/Users/chris/svn/hadoop-common-HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java:37:
 warning - Tag @link: reference not found: Acl
[WARNING] 
/Users/chris/svn/hadoop-common-HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java:37:
 warning - Tag @link: reference not found: Acl
[WARNING] 
/Users/chris/svn/hadoop-common-HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java:37:
 warning - Tag @link: reference not found: Acl
[WARNING] 
/Users/chris/svn/hadoop-common-HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java:37:
 warning - Tag @link: reference not found: Acl
[WARNING] 
/Users/chris/svn/hadoop-common-HDFS-4685/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/AclStatus.java:37:
 warning - Tag @link: reference not found: Acl
{code}


> Remove AclReadFlag and AclWriteFlag in FileSystem API
> -----------------------------------------------------
>
>                 Key: HDFS-5650
>                 URL: https://issues.apache.org/jira/browse/HDFS-5650
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client, namenode, security
>            Reporter: Haohui Mai
>            Assignee: Haohui Mai
>         Attachments: HDFS-5650.000.patch, HDFS-5650.001.patch, 
> HDFS-5650.002.patch, HDFS-5650.003.patch, HDFS-5650.004.patch
>
>
> AclReadFlag and AclWriteFlag intended to capture various options used in 
> getfacl and setfacl. These options determine whether the tool should traverse 
> the filesystem recursively, follow the symlink, etc., but they are not part 
> of the core ACLs abstractions.
> The client program has more information and more flexibility to implement 
> these options. This jira proposes to remove these flags to simplify the APIs.



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

Reply via email to