Browse Source

HDFS-7064. Fix unit test failures in HDFS-6581 branch. (Contributed by Xiaoyu Yao)

Conflicts:
	hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-6581.txt
arp 10 years ago
parent
commit
5f86ce7ea9

+ 2 - 1
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/CommandWithDestination.java

@@ -478,7 +478,8 @@ abstract class CommandWithDestination extends FsCommand {
           createFlags.add(LAZY_PERSIST);
           createFlags.add(LAZY_PERSIST);
         }
         }
         return create(item.path,
         return create(item.path,
-                      null,
+                      FsPermission.getFileDefault().applyUMask(
+                          FsPermission.getUMask(getConf())),
                       createFlags,
                       createFlags,
                       getConf().getInt("io.file.buffer.size", 4096),
                       getConf().getInt("io.file.buffer.size", 4096),
                       lazyPersist ? 1 : getDefaultReplication(item.path),
                       lazyPersist ? 1 : getDefaultReplication(item.path),

+ 3 - 2
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeImpl.java

@@ -381,8 +381,9 @@ public class FsVolumeImpl implements FsVolumeSpi {
           !FileUtil.fullyDelete(finalizedDir)) {
           !FileUtil.fullyDelete(finalizedDir)) {
         throw new IOException("Failed to delete " + finalizedDir);
         throw new IOException("Failed to delete " + finalizedDir);
       }
       }
-      if (!DatanodeUtil.dirNoFilesRecursive(lazypersistDir) ||
-          !FileUtil.fullyDelete(lazypersistDir)) {
+      if (lazypersistDir.exists() &&
+        ((!DatanodeUtil.dirNoFilesRecursive(lazypersistDir) ||
+          !FileUtil.fullyDelete(lazypersistDir)))) {
         throw new IOException("Failed to delete " + lazypersistDir);
         throw new IOException("Failed to delete " + lazypersistDir);
       }
       }
       FileUtil.fullyDelete(tmpDir);
       FileUtil.fullyDelete(tmpDir);

+ 1 - 1
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/TestDataDirs.java

@@ -51,7 +51,7 @@ public class TestDataDirs {
     String locations1 = "[disk]/dir0,[DISK]/dir1,[sSd]/dir2,[disK]/dir3,[ram_disk]/dir4";
     String locations1 = "[disk]/dir0,[DISK]/dir1,[sSd]/dir2,[disK]/dir3,[ram_disk]/dir4";
     conf.set(DFS_DATANODE_DATA_DIR_KEY, locations1);
     conf.set(DFS_DATANODE_DATA_DIR_KEY, locations1);
     locations = DataNode.getStorageLocations(conf);
     locations = DataNode.getStorageLocations(conf);
-    assertThat(locations.size(), is(4));
+    assertThat(locations.size(), is(5));
     assertThat(locations.get(0).getStorageType(), is(StorageType.DISK));
     assertThat(locations.get(0).getStorageType(), is(StorageType.DISK));
     assertThat(locations.get(0).getUri(), is(dir0.toURI()));
     assertThat(locations.get(0).getUri(), is(dir0.toURI()));
     assertThat(locations.get(1).getStorageType(), is(StorageType.DISK));
     assertThat(locations.get(1).getStorageType(), is(StorageType.DISK));