[
https://issues.apache.org/jira/browse/HDFS-5933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Haohui Mai updated HDFS-5933:
-----------------------------
Description:
The current serialization of the ACLs is suboptimal. ACL entries should be
serialized using the same scheme that the PB-based FSImage serializes
permissions.
* An ACL entry is represented by a 32-bit integer in Big Endian
* format. The bits can be divided in four segments:
* [0:2) || [2:26) || [26:27) || [27:29) || [29:32)
*
* [0:2) -- reserved for futute uses.
* [2:26) -- the name of the entry, which is an ID that points to a
* string in the StringTableSection.
* [26:27) -- the scope of the entry (AclEntryScopeProto)
* [27:29) -- the type of the entry (AclEntryTypeProto)
* [29:32) -- the permission of the entry (FsActionProto)
*
*/
was:
The current serialization of the ACLs is suboptimal. ACL entries should be
serialized using the same scheme that the PB-based FSImage serializes
permissions.
The entry is represented by an 64-bit bit-vector, which is
{code}
[reserved[0:21)][name[21:45)][type[45:47)][scope[47:48)][permissions[48:64)]
{code}
{{name}} is a 24-bit ID that points to a string in {{StringTable}}. {{type}},
{{scope}}, {{permissions}} are the corresponding fields in an AclEntry. Bits in
{{reserved}} are reserved for future uses.
> Optimize the FSImage layout for ACLs
> ------------------------------------
>
> Key: HDFS-5933
> URL: https://issues.apache.org/jira/browse/HDFS-5933
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs-client, namenode, security
> Affects Versions: HDFS ACLs (HDFS-4685)
> Reporter: Haohui Mai
> Assignee: Haohui Mai
> Attachments: HDFS-5933.000.patch, HDFS-5933.001.patch
>
>
> The current serialization of the ACLs is suboptimal. ACL entries should be
> serialized using the same scheme that the PB-based FSImage serializes
> permissions.
>
> * An ACL entry is represented by a 32-bit integer in Big Endian
> * format. The bits can be divided in four segments:
> * [0:2) || [2:26) || [26:27) || [27:29) || [29:32)
> *
> * [0:2) -- reserved for futute uses.
> * [2:26) -- the name of the entry, which is an ID that points to a
> * string in the StringTableSection.
> * [26:27) -- the scope of the entry (AclEntryScopeProto)
> * [27:29) -- the type of the entry (AclEntryTypeProto)
> * [29:32) -- the permission of the entry (FsActionProto)
> *
> */
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)