[34/50] hadoop git commit: HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode restart/failover. Contributed by Vinayakumar B.
HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode restart/failover. Contributed by Vinayakumar B. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/643d180c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/643d180c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/643d180c Branch: refs/heads/HDFS-EC Commit: 643d180ca9b48c56fd1b6df723aa5e31c9ac0f0b Parents: 2777554 Author: cnauroth cnaur...@apache.org Authored: Mon Dec 22 13:59:10 2014 -0800 Committer: Zhe Zhang zhezh...@cloudera.com Committed: Wed Dec 24 11:22:18 2014 -0800 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ++ .../hadoop/hdfs/server/namenode/FSDirAclOp.java | 12 +++--- .../hdfs/server/namenode/FSEditLogLoader.java | 3 +- .../hdfs/server/namenode/FSAclBaseTest.java | 39 4 files changed, 44 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/643d180c/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index c38b92a..07a78c2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -627,6 +627,9 @@ Release 2.7.0 - UNRELEASED HDFS-7557. Fix spacing for a few keys in DFSConfigKeys.java (Colin P.McCabe) +HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode +restart/failover. (Vinayakumar B via cnauroth) + Release 2.6.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/643d180c/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java index 7aaa21c..dff1c2e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java @@ -143,7 +143,7 @@ class FSDirAclOp { try { iip = fsd.getINodesInPath4Write(src); fsd.checkOwner(pc, iip); - ListAclEntry newAcl = unprotectedSetAcl(fsd, src, aclSpec); + ListAclEntry newAcl = unprotectedSetAcl(fsd, src, aclSpec, false); fsd.getEditLog().logSetAcl(src, newAcl); } finally { fsd.writeUnlock(); @@ -185,7 +185,7 @@ class FSDirAclOp { } static ListAclEntry unprotectedSetAcl( - FSDirectory fsd, String src, ListAclEntry aclSpec) + FSDirectory fsd, String src, ListAclEntry aclSpec, boolean fromEdits) throws IOException { assert fsd.hasWriteLock(); final INodesInPath iip = fsd.getINodesInPath4Write( @@ -199,9 +199,11 @@ class FSDirAclOp { INode inode = FSDirectory.resolveLastINode(iip); int snapshotId = iip.getLatestSnapshotId(); -ListAclEntry existingAcl = AclStorage.readINodeLogicalAcl(inode); -ListAclEntry newAcl = AclTransformation.replaceAclEntries(existingAcl, - aclSpec); +ListAclEntry newAcl = aclSpec; +if (!fromEdits) { + ListAclEntry existingAcl = AclStorage.readINodeLogicalAcl(inode); + newAcl = AclTransformation.replaceAclEntries(existingAcl, aclSpec); +} AclStorage.updateINodeAcl(inode, newAcl, snapshotId); return newAcl; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/643d180c/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java index 9d08d4e..2ae5e03 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java @@ -823,7 +823,8 @@ public class FSEditLogLoader { } case OP_SET_ACL: { SetAclOp setAclOp = (SetAclOp) op; - FSDirAclOp.unprotectedSetAcl(fsDir, setAclOp.src, setAclOp.aclEntries); + FSDirAclOp.unprotectedSetAcl(fsDir, setAclOp.src, setAclOp.aclEntries, + true); break; } case OP_SET_XATTR: {
hadoop git commit: HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode restart/failover. Contributed by Vinayakumar B.
Repository: hadoop Updated Branches: refs/heads/trunk a696fbb00 - 2cf90a2c3 HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode restart/failover. Contributed by Vinayakumar B. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2cf90a2c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2cf90a2c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2cf90a2c Branch: refs/heads/trunk Commit: 2cf90a2c338497a466bbad9e83966033bf14bfb7 Parents: a696fbb Author: cnauroth cnaur...@apache.org Authored: Mon Dec 22 13:59:10 2014 -0800 Committer: cnauroth cnaur...@apache.org Committed: Mon Dec 22 13:59:10 2014 -0800 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ++ .../hadoop/hdfs/server/namenode/FSDirAclOp.java | 12 +++--- .../hdfs/server/namenode/FSEditLogLoader.java | 3 +- .../hdfs/server/namenode/FSAclBaseTest.java | 39 4 files changed, 44 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cf90a2c/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index c38b92a..07a78c2 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -627,6 +627,9 @@ Release 2.7.0 - UNRELEASED HDFS-7557. Fix spacing for a few keys in DFSConfigKeys.java (Colin P.McCabe) +HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode +restart/failover. (Vinayakumar B via cnauroth) + Release 2.6.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cf90a2c/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java index 7aaa21c..dff1c2e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java @@ -143,7 +143,7 @@ class FSDirAclOp { try { iip = fsd.getINodesInPath4Write(src); fsd.checkOwner(pc, iip); - ListAclEntry newAcl = unprotectedSetAcl(fsd, src, aclSpec); + ListAclEntry newAcl = unprotectedSetAcl(fsd, src, aclSpec, false); fsd.getEditLog().logSetAcl(src, newAcl); } finally { fsd.writeUnlock(); @@ -185,7 +185,7 @@ class FSDirAclOp { } static ListAclEntry unprotectedSetAcl( - FSDirectory fsd, String src, ListAclEntry aclSpec) + FSDirectory fsd, String src, ListAclEntry aclSpec, boolean fromEdits) throws IOException { assert fsd.hasWriteLock(); final INodesInPath iip = fsd.getINodesInPath4Write( @@ -199,9 +199,11 @@ class FSDirAclOp { INode inode = FSDirectory.resolveLastINode(iip); int snapshotId = iip.getLatestSnapshotId(); -ListAclEntry existingAcl = AclStorage.readINodeLogicalAcl(inode); -ListAclEntry newAcl = AclTransformation.replaceAclEntries(existingAcl, - aclSpec); +ListAclEntry newAcl = aclSpec; +if (!fromEdits) { + ListAclEntry existingAcl = AclStorage.readINodeLogicalAcl(inode); + newAcl = AclTransformation.replaceAclEntries(existingAcl, aclSpec); +} AclStorage.updateINodeAcl(inode, newAcl, snapshotId); return newAcl; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/2cf90a2c/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java index 9d08d4e..2ae5e03 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java @@ -823,7 +823,8 @@ public class FSEditLogLoader { } case OP_SET_ACL: { SetAclOp setAclOp = (SetAclOp) op; - FSDirAclOp.unprotectedSetAcl(fsDir, setAclOp.src, setAclOp.aclEntries); + FSDirAclOp.unprotectedSetAcl(fsDir, setAclOp.src, setAclOp.aclEntries, + true); break; } case OP_SET_XATTR: {
hadoop git commit: HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode restart/failover. Contributed by Vinayakumar B.
Repository: hadoop Updated Branches: refs/heads/branch-2 6f252f7f3 - 548612466 HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode restart/failover. Contributed by Vinayakumar B. (cherry picked from commit 2cf90a2c338497a466bbad9e83966033bf14bfb7) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/54861246 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/54861246 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/54861246 Branch: refs/heads/branch-2 Commit: 54861246684e9468df9d2b68b9103099ab48cdc6 Parents: 6f252f7 Author: cnauroth cnaur...@apache.org Authored: Mon Dec 22 13:59:10 2014 -0800 Committer: cnauroth cnaur...@apache.org Committed: Mon Dec 22 14:02:49 2014 -0800 -- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ++ .../hadoop/hdfs/server/namenode/FSDirAclOp.java | 12 +++--- .../hdfs/server/namenode/FSEditLogLoader.java | 3 +- .../hdfs/server/namenode/FSAclBaseTest.java | 39 4 files changed, 44 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hadoop/blob/54861246/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 997552d..d2d67e4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -370,6 +370,9 @@ Release 2.7.0 - UNRELEASED HDFS-7557. Fix spacing for a few keys in DFSConfigKeys.java (Colin P.McCabe) +HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode +restart/failover. (Vinayakumar B via cnauroth) + Release 2.6.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/54861246/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java index 7aaa21c..dff1c2e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAclOp.java @@ -143,7 +143,7 @@ class FSDirAclOp { try { iip = fsd.getINodesInPath4Write(src); fsd.checkOwner(pc, iip); - ListAclEntry newAcl = unprotectedSetAcl(fsd, src, aclSpec); + ListAclEntry newAcl = unprotectedSetAcl(fsd, src, aclSpec, false); fsd.getEditLog().logSetAcl(src, newAcl); } finally { fsd.writeUnlock(); @@ -185,7 +185,7 @@ class FSDirAclOp { } static ListAclEntry unprotectedSetAcl( - FSDirectory fsd, String src, ListAclEntry aclSpec) + FSDirectory fsd, String src, ListAclEntry aclSpec, boolean fromEdits) throws IOException { assert fsd.hasWriteLock(); final INodesInPath iip = fsd.getINodesInPath4Write( @@ -199,9 +199,11 @@ class FSDirAclOp { INode inode = FSDirectory.resolveLastINode(iip); int snapshotId = iip.getLatestSnapshotId(); -ListAclEntry existingAcl = AclStorage.readINodeLogicalAcl(inode); -ListAclEntry newAcl = AclTransformation.replaceAclEntries(existingAcl, - aclSpec); +ListAclEntry newAcl = aclSpec; +if (!fromEdits) { + ListAclEntry existingAcl = AclStorage.readINodeLogicalAcl(inode); + newAcl = AclTransformation.replaceAclEntries(existingAcl, aclSpec); +} AclStorage.updateINodeAcl(inode, newAcl, snapshotId); return newAcl; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/54861246/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java -- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java index 9d79ffa..c275ea5 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java @@ -827,7 +827,8 @@ public class FSEditLogLoader { } case OP_SET_ACL: { SetAclOp setAclOp = (SetAclOp) op; - FSDirAclOp.unprotectedSetAcl(fsDir, setAclOp.src, setAclOp.aclEntries); + FSDirAclOp.unprotectedSetAcl(fsDir, setAclOp.src, setAclOp.aclEntries, +