[34/50] hadoop git commit: HDFS-7560. ACLs removed by removeDefaultAcl() will be back after NameNode restart/failover. Contributed by Vinayakumar B.

2014-12-24 Thread zhz
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.

2014-12-22 Thread cnauroth
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.

2014-12-22 Thread cnauroth
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,
+