[
https://issues.apache.org/jira/browse/HDFS-7454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vinayakumar B updated HDFS-7454:
--------------------------------
Attachment: HDFS-7454-004.patch
Used the second option to cut direct access to entries array.
bq. Another question is that do we need to keep getEntries()? I just checked
and it was called in several places, but it might make sense to just fix them
to the int-based APIs.
convertion of int array to ImmutableList<AclEntry> moved to
{{AclStorage#getEntriesFromAclFeature}}. This is currently referenced in only
ACL modification APIs , such as creation, modify and removal, and getAclStatus.
I feel these are not frequent compared to just accessing the path.
> Reduce memory footprint for AclEntries 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-7454-002.patch,
> HDFS-7454-003.patch, HDFS-7454-004.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)