You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by wa...@apache.org on 2016/03/02 01:35:51 UTC

hadoop git commit: HDFS-9881. DistributedFileSystem#getTrashRoot returns incorrect path for encryption zones.

Repository: hadoop
Updated Branches:
  refs/heads/trunk e76b13c41 -> 4abb2fa68


HDFS-9881. DistributedFileSystem#getTrashRoot returns incorrect path for encryption zones.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/4abb2fa6
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4abb2fa6
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4abb2fa6

Branch: refs/heads/trunk
Commit: 4abb2fa687a80d2b76f2751dd31513822601b235
Parents: e76b13c
Author: Andrew Wang <wa...@apache.org>
Authored: Tue Mar 1 16:35:39 2016 -0800
Committer: Andrew Wang <wa...@apache.org>
Committed: Tue Mar 1 16:35:39 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hdfs/DistributedFileSystem.java   | 2 +-
 hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt                  | 3 +++
 .../java/org/apache/hadoop/hdfs/TestEncryptionZones.java     | 8 ++++++++
 3 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/4abb2fa6/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
index d6eb9e5..275c63d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
@@ -2355,7 +2355,7 @@ public class DistributedFileSystem extends FileSystem {
       EncryptionZone ez = dfs.getEZForPath(parentSrc);
       if ((ez != null)) {
         return this.makeQualified(
-            new Path(ez.getPath(), FileSystem.TRASH_PREFIX +
+            new Path(new Path(ez.getPath(), FileSystem.TRASH_PREFIX),
                 dfs.ugi.getShortUserName()));
       }
     } catch (IOException e) {

http://git-wip-us.apache.org/repos/asf/hadoop/blob/4abb2fa6/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 464891d..80bd4d57 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -2864,6 +2864,9 @@ Release 2.8.0 - UNRELEASED
     HDFS-9870. Remove unused imports from DFSUtil.
     (Brahma Reddy Battula via cnauroth)
 
+    HDFS-9881. DistributedFileSystem#getTrashRoot returns incorrect path for
+    encryption zones. (wang)
+
 Release 2.7.3 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/4abb2fa6/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java
index 82a646f..6c2ce6a 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestEncryptionZones.java
@@ -1445,6 +1445,14 @@ public class TestEncryptionZones {
   private void verifyShellDeleteWithTrash(FsShell shell, Path path)
       throws Exception{
     try {
+      Path trashDir = shell.getCurrentTrashDir(path);
+      // Verify that trashDir has a path component named ".Trash"
+      Path checkTrash = trashDir;
+      while (!checkTrash.isRoot() && !checkTrash.getName().equals(".Trash")) {
+        checkTrash = checkTrash.getParent();
+      }
+      assertEquals("No .Trash component found in trash dir " + trashDir,
+          ".Trash", checkTrash.getName());
       final Path trashFile =
           new Path(shell.getCurrentTrashDir(path) + "/" + path);
       String[] argv = new String[]{"-rm", "-r", path.toString()};