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