Fengdong Yu created HDFS-5670: --------------------------------- Summary: FSPermission check is incorrect Key: HDFS-5670 URL: https://issues.apache.org/jira/browse/HDFS-5670 Project: Hadoop HDFS Issue Type: Bug Components: hdfs-client, namenode Affects Versions: 2.2.0, 3.0.0 Reporter: Fengdong Yu Fix For: 3.0.0, 2.3.0
FSPermission check is incorrect after update in the trunk recently. I submitted MR job using root, but the whole output directory must be owned by root, otherwise, it throws Exception: {code} [root@10 ~]# hadoop fs -ls / Found 1 items drwxr-xr-x - hadoop supergroup 0 2013-12-15 10:04 /user [root@10 ~]# [root@10 ~]# hadoop fs -ls /user Found 1 items drwxr-xr-x - root root 0 2013-12-15 10:04 /user/root {code} {code} [root@10 ~]# hadoop jar airui.jar /input /user/root/ Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/user":hadoop:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:234) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:214) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:161) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5410) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.deleteInternal(FSNamesystem.java:3236) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.deleteInt(FSNamesystem.java:3190) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.delete(FSNamesystem.java:3174) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.delete(NameNodeRpcServer.java:708) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.delete(ClientNamenodeProtocolServerSideTranslatorPB.java:514) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:605) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:932) {code} -- This message was sent by Atlassian JIRA (v6.1.4#6159)