You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Zhang Dongsheng (Jira)" <ji...@apache.org> on 2022/11/22 09:50:00 UTC

[jira] [Commented] (MAPREDUCE-7427) Parent directory permission could be wrong while create done_intermediate directory

    [ https://issues.apache.org/jira/browse/MAPREDUCE-7427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17637119#comment-17637119 ] 

Zhang Dongsheng commented on MAPREDUCE-7427:
--------------------------------------------


{code:java}
Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=user2, access=EXECUTE, inode="/tmp/hadoop-yarn":user1:supergroup:drwx------ at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:506) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:422) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:333) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermissionWithContext(FSPermissionChecker.java:370) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:240) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:713) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1892) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkTraverse(FSDirectory.java:1910) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.resolvePath(FSDirectory.java:727) at org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:112) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:3350) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:1208)
{code}


> Parent directory permission could be wrong while create done_intermediate directory
> -----------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-7427
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7427
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobhistoryserver
>    Affects Versions: 3.3.4
>            Reporter: Zhang Dongsheng
>            Priority: Major
>
> When creating "history/done_intermediate", we seem to assume that the parent directory of the folder exists and has the correct permissions. But when I run it, it doesn't work. When the umask is too strict, the permission of the parent directory will be wrong. Even under the default umask, the permission of the parent directory cannot be guaranteed to be 777. This is because the "history/done_intermediate" directory needs to be accessed by mapred, and the user when the directory was created The group information is user1 and supergroup, so mapred will access it as other user. It can be seen that at the time of creation, only the permission setting of the last-level directory is concerned (setPermission will only take effect for the last-level path), and no permission is set for the parent path. In this patch, I have given permissions to its parent path through the stack



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-help@hadoop.apache.org