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

Vinayakumar B commented on HDFS-7454:
-------------------------------------

Thanks [~cnauroth] and [~wheat9] for suggestions. 
I could see that {{AclEntry}} is being stored as an {{int}} in FsImage 
protobuf. I think same we could re-use or use similar to 
{{INodeWithAdditionalFields#PermissionStatusFormat}} to pack AclEntry to an 
32-bit {{int}}.

Packing {{AclEntry}} to {{int}} may be good option than de-duplication of 
{{AclEntry}}. But as Chris already mentioned,  may not resolve the duplication 
of {{AclFeature}}.
How about combining these 2 options?

> Implement Global ACL Set for memory optimization in NameNode
> ------------------------------------------------------------
>
>                 Key: HDFS-7454
>                 URL: https://issues.apache.org/jira/browse/HDFS-7454
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>            Reporter: Vinayakumar B
>            Assignee: Vinayakumar B
>         Attachments: HDFS-7454-001.patch
>
>
> HDFS-5620 indicated a GlobalAclSet containing unique {{AclFeature}} can be 
> de-duplicated to save the memory in NameNode. However it was not implemented 
> at that time.
> This Jira re-proposes same implementation, along with de-duplication of 
> unique {{AclEntry}} across all ACLs.
> One simple usecase is:
> A mapreduce user's home directory with the set of default ACLs, under which 
> lot of other files/directories could be created when jobs is run. Here all 
> the default ACLs of parent directory will be duplicated till the explicit 
> delete of those ACLs. With de-duplication,only one object will be in memory 
> for the same Entry across all ACLs of all files/directories.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to