You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Chris Nauroth (JIRA)" <ji...@apache.org> on 2014/02/05 21:50:09 UTC

[jira] [Updated] (HDFS-5616) NameNode: implement default ACL handling.

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

Chris Nauroth updated HDFS-5616:
--------------------------------

    Attachment: HDFS-5616.1.patch

I'm attaching the patch that implements copying the parent default ACL defined on a directory to its newly created child files and directories.  [~wheat9], would you please review?

Summary of changes:
# {{AclStorage}}: Implemented {{copyINodeDefaultAcl}} and refactored to share common code with the existing {{updateINodeAcl}} method.
# {{FSDirectory}}: Call {{AclStorage#copyINodeDefaultAcl}} when needed, and log {{OP_SET_ACL}} for a mkdir that receives a copy of a default ACL.
# {{FSEditLogOp}}: Guarantee that the ACL bit is masked off for serialization of {{OP_ADD}} and {{OP_MKDIR}}.  The comments fully explain the reason for this.
# {{FSNamesystem}}: Log {{OP_SET_ACL}} for a new file that receives a copy of a default ACL.
# {{ScopedAclEntries}}: I noticed that it was possible for callers to get null returned from {{getAccessEntries}}, which contradicts the statement in the JavaDocs that it would return an empty list.  This isn't causing any real problems right now, but I'd like to fix it for consistency.
# {{FSAclBaseTest}}: Added new tests for various cases of the default ACL getting copied to new children.
# {{TestFSImageWithAcl}}: Added new tests asserting that ACLs copied from a default ACL remain persistent in fsimage and edits.
# {{TestWebHDFSAcl}}: We need to skip one of the new tests defined in {{FSAclBaseTest}} when running it against {{WebHdfsFileSystem}}, because {{WebHdfsFileSystem}} does not currently resolve symlinks.  This is a known issue unrelated to ACLs.
# {{testAclCLI.xml}}: We previously wrote some CLI tests related to default ACL handling, and committed them knowing they'd be broken until default ACL handling was implemented.  For one of these tests, the assertions were just slightly off.  The group perms get inherited as-is, and then the mask is responsible for restricting it.


> NameNode: implement default ACL handling.
> -----------------------------------------
>
>                 Key: HDFS-5616
>                 URL: https://issues.apache.org/jira/browse/HDFS-5616
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: HDFS ACLs (HDFS-4685)
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>         Attachments: HDFS-5616.1.patch
>
>
> Implement and test handling of default ACLs within NameNode.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)