Browse Source

HDFS-14890. Fixed namenode and journalnode startup on Windows.
Contributed by Siddharth Wagle

Eric Yang 5 years ago
parent
commit
aa24add8f0

+ 8 - 3
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/Storage.java

@@ -447,9 +447,14 @@ public abstract class Storage extends StorageInfo {
         throw new IOException("Cannot create directory " + curDir);
       }
       if (permission != null) {
-        Set<PosixFilePermission> permissions =
-            PosixFilePermissions.fromString(permission.toString());
-        Files.setPosixFilePermissions(curDir.toPath(), permissions);
+        try {
+          Set<PosixFilePermission> permissions =
+              PosixFilePermissions.fromString(permission.toString());
+          Files.setPosixFilePermissions(curDir.toPath(), permissions);
+        } catch (UnsupportedOperationException uoe) {
+          // Default to FileUtil for non posix file systems
+          FileUtil.setPermission(curDir, permission);
+        }
       }
     }