hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nauroth (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-5614) NameNode: implement handling of ACLs in combination with snapshots.
Date Thu, 30 Jan 2014 23:08:09 GMT

     [ https://issues.apache.org/jira/browse/HDFS-5614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Chris Nauroth updated HDFS-5614:

    Attachment: HDFS-5614.2.patch

Here is v2 of this patch.  The differences since v1 are:
# I fixed the duplicate {{AclFeature}} bug that I mentioned earlier.  The problem was that
we were serializing an empty {{AclFeature}} into fsimage for inodes that don't have an ACL.
 On reload, we'd apply that empty {{AclFeature}} to the inode.  During the next attempt to
set an ACL, the ACL bit would be off, so it would appear that there is no need to remove the
feature before adding a new one.  The current HDFS-4685 code masks this problem by virtue
of the fact that {{AclFeature}} was mutable, and it could just replace the entries.  To fix
this, {{FSImageSerialization}} and {{FSImageFormat}} now check the ACL bit before writing/reading
an ACL.  I also enhanced an existing test case in {{TestFSImageWithAcl}} to expose the problem.
# Thank you to [~jingzhao] who reviewed the v1 patch and spotted a bug in {{AclStorage}}.
 In some cases, it was reading the {{FsPermission}} or the {{AclStatus}} for the latest snapshot
rather than the current state.  For the ACL modification APIs, we're always interested in
current state and applying a delta to that.  I've corrected the code and updated some comments
to clarify when we need to use a snapshot ID and when we don't.  I also added 2 tests in {{TestAclWithSnapshot}}
to demonstrate the problem: {{testModifyReadsCurrentState}} and {{testRemoveReadsCurrentState}}.

> NameNode: implement handling of ACLs in combination with snapshots.
> -------------------------------------------------------------------
>                 Key: HDFS-5614
>                 URL: https://issues.apache.org/jira/browse/HDFS-5614
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: HDFS ACLs (HDFS-4685)
>            Reporter: Chris Nauroth
>            Assignee: Chris Nauroth
>         Attachments: HDFS-5614.1.patch, HDFS-5614.2.patch
> Within a snapshot, all ACLs are frozen at the moment that the snapshot was created. 
ACL changes in the parent of the snapshot are not applied to the snapshot.

This message was sent by Atlassian JIRA

View raw message