diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java index 508440a5f3..d203f65b93 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/FSDownload.java @@ -401,7 +401,7 @@ public class FSDownload implements Callable { } final Path destinationTmp = new Path(destDirPath + "_tmp"); - createDir(destinationTmp, PRIVATE_DIR_PERMS); + createDir(destinationTmp, cachePerms); Path dFinal = files.makeQualified(new Path(destinationTmp, sCopy.getName())); try { @@ -416,10 +416,7 @@ public class FSDownload implements Callable { } }); } - Path destinationTmpfilesQualified = files.makeQualified(destinationTmp); - changePermissions( - destinationTmpfilesQualified.getFileSystem(conf), - destinationTmpfilesQualified); + changePermissions(dFinal.getFileSystem(conf), dFinal); files.rename(destinationTmp, destDirPath, Rename.OVERWRITE); if (LOG.isDebugEnabled()) { diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java index fa8c0398cf..08d6189289 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/TestFSDownload.java @@ -451,7 +451,7 @@ public class TestFSDownload { FileStatus status = files.getFileStatus(localized.getParent()); FsPermission perm = status.getPermission(); assertEquals("Cache directory permissions are incorrect", - new FsPermission((short)0700), perm); + new FsPermission((short)0755), perm); status = files.getFileStatus(localized); perm = status.getPermission();