Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.9.2, 0.10.1, 0.9.3
-
None
-
None
-
None
Description
Before updating file permissions TEZ check if the permission change is needed with the following conditional:
if (!SPILL_FILE_PERMS.equals(SPILL_FILE_PERMS.applyUMask(FsPermission.getUMask(conf)))) {
rfs.setPermission(filename, SPILL_FILE_PERMS);
}
The problem is that the config object used by this conditional can be different than the config used by the file system (rfs). The reason for this is the underlaying file system instance cache in hadoop.
Either we should remove this conditional altogether (it's a local file system, it won't generate NN calls) or modify it to use rfs.getConf().
The end result is a file, which is not readable by the group, because the permission change was skipped due to the umask mismatch between the 2 configs.