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

Chris Nauroth commented on HDFS-5618:
-------------------------------------

This patch needs a rebase with the current HDFS-4685 branch.  Also, here are a 
few comments:
# {{LayoutVersion}}: This patch appears to implement fsimage peristence of ACLs 
specifically, so I think the description of the new version needs to be 
something like "Support for access control lists" instead of "Generic feature 
lists".
# {{FSImageFormat#loadINode}}: What happens for inodes that do not have an ACL? 
 It appears that {{loadAclFeature}} always attempts to deserialize the next 
bytes from the stream as an ACL as long as the software supports layout vesion 
<= -50, but this isn't necessarily true, because not all inodes will have an 
ACL.  One idea here would be to take one of the unused {{FsPermission}} bits 
and start using it to flag has-ACL vs. does-not-have-ACL.  We'll need to do 
this anyway to support the CLI and the web UI.  Then, the logic can check if 
this bit is true before attempting deserializtion.
# {{FSImageFormat#loadAclFeature}}: minor: there is some indentation by 4 
spaces instead of 2.
# {{ImageLoaderCurrent}}: We'll need to change the {{versions}} list in this 
class so that offline image viewer can open fsimage files generated with the 
new layout version.  We'll also need to change offline image viewer so that it 
can print ACL information.
# {{FSImageFormat#loadAclFeature}}: nitpick: indentation should be 2 spaces 
intead of 4


> NameNode: persist ACLs in fsimage.
> ----------------------------------
>
>                 Key: HDFS-5618
>                 URL: https://issues.apache.org/jira/browse/HDFS-5618
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: HDFS ACLs (HDFS-4685)
>            Reporter: Chris Nauroth
>            Assignee: Haohui Mai
>         Attachments: HDFS-5618.000.patch
>
>
> Store ACLs in fsimage so that ACLs are retained across NameNode restarts.  
> This requires encoding and saving the {{AclManager}} state as a new section 
> of the fsimage, located after all existing sections (snapshot manager state, 
> inodes, secret manager state, and cache manager state).



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to