[
https://issues.apache.org/jira/browse/HDFS-7384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14213439#comment-14213439
]
Chris Nauroth commented on HDFS-7384:
-------------------------------------
I haven't reviewed the whole patch yet, but I wanted to state again quickly
that I'd prefer to keep effective permissions out of {{AclEntry}}.
One problem is that the {{AclEntry}} class is also used in the setter APIs,
like {{setAcl}}. In that context, the effective permissions would be ignored.
This could cause confusion for users of those APIs.
Another problem is that we use the same class for both the public API on the
client side and the internal in-memory representation in the NameNode.
Therefore, adding a new member to {{AclEntry}} would have a side effect of
increasing memory footprint in the NameNode. Even if we don't populate the
field when used within the NameNode, there is still the overhead of the
additional pointer multiplied by every ACL entry. We could potentially change
the NameNode to use a different class for its internal implementation, but then
we'd have a dual-maintenance problem and a need for extra code to translate
between the two representations.
If {{AclStatus}} could have a new method that does the calculation for an
entry's effective permissions on demand, instead of requiring a new member in
{{AclEntry}}, then we wouldn't impact the setter APIs or increase memory
footprint in the NameNode.
> 'getfacl' command and 'getAclStatus' output should be in sync
> -------------------------------------------------------------
>
> Key: HDFS-7384
> URL: https://issues.apache.org/jira/browse/HDFS-7384
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: Vinayakumar B
> Assignee: Vinayakumar B
> Attachments: HDFS-7384-001.patch
>
>
> *getfacl* command will print all the entries including basic and extended
> entries, mask entries and effective permissions.
> But, *getAclStatus* FileSystem API will return only extended ACL entries set
> by the user. But this will not include the mask entry as well as effective
> permissions.
> To benefit the client using API, better to include 'mask' entry and effective
> permissions in the return list of entries.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)