[
https://issues.apache.org/jira/browse/HDFS-5673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris Nauroth updated HDFS-5673:
--------------------------------
Attachment: HDFS-5673.1.patch
I'm attaching the patch that implements the core ACL modification logic. This
turned out to be some fairly tricky logic. It's probably the most complex
logic in the HDFS ACLs project (certainly a lot more complex than the
permission enforcement is going to be).
{{Acl}} - This class is back. This time, it's private to HDFS, intended for
use inside the namenode. It's mostly the same as the old version that we used
to have in Common before the API changes, but with the addition of a few more
helper methods.
{{AclTransformation}} - This class defines the 5 different operations that can
change an ACL. There are quite a few edge cases to consider related to
validation rules, mask calculation and inferring default entries if not
specified. I needed multiple readings of the POSIX ACL docs to fully
understand all of the edge cases.
http://users.suse.com/~agruen/acl/linux-acls/online/
{{TestAclTransformation}} - Approximately 2/3 of this patch is tests. For
every test in this suite, I've run the same scenario against Linux
setfacl/getfacl to confirm that the {{AclTransformation}} code yields the same
result. I ran a coverage report, and I saw 100% coverage of the new code in
this patch.
> Implement logic for modification of ACLs.
> -----------------------------------------
>
> Key: HDFS-5673
> URL: https://issues.apache.org/jira/browse/HDFS-5673
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: namenode
> Affects Versions: HDFS ACLs (HDFS-4685)
> Reporter: Chris Nauroth
> Assignee: Chris Nauroth
> Attachments: HDFS-5673.1.patch
>
>
> This patch will include the core logic for modification of ACLs. This
> includes support for all user-facing APIs that modify ACLs. This will cover
> access ACLs, default ACLs, automatic mask calculations, automatic inference
> of unprovided default ACL entries, and validation to prevent creation of an
> invalid ACL.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)