[
https://issues.apache.org/jira/browse/HDFS-9851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Yan updated HDFS-9851:
----------------------------
Description:
Tried it on both Hadoop 2.7.1 and 2.7.2, and I'm getting the same error when
setPermission is called on a path that does not exist:
{code}
16/02/23 16:37:03.888 DEBUG security.UserGroupInformation:FSPermissionChecker.ja
va:164 - ACCESS CHECK:
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker@299b19af,
doCheckOwner=true, ancestorAccess=null, parentAccess=null, access=null,
subAccess=null, ignoreEmptyDir=false
16/02/23 16:37:03.889 DEBUG ipc.Server:ProtobufRpcEngine.java:631 - Served:
setPermission queueTime= 3 procesingTime= 3 exception= NullPointerException
16/02/23 16:37:03.890 WARN ipc.Server:Server.java:2068 - IPC Server handler 2
on 9000, call org.apache.hadoop.hdfs.protocol.ClientProtocol.setPermission from
127.0.0.1:36190 Call#21 Retry#0
java.lang.NullPointerException
at
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkOwner(FSPermissionChecker.java:247)
at
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:227)
at
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190)
at
org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1720)
at
org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1704)
at
org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkOwner(FSDirectory.java:1673)
at
org.apache.hadoop.hdfs.server.namenode.FSDirAttrOp.setPermission(FSDirAttrOp.java:61)
at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermission(FSNamesystem.java:1653)
at
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setPermission(NameNodeRpcServer.java:695)
at
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setPermission(ClientNamenodeProtocolServerSideTranslatorPB.java:453)
at
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at
org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
{code}
I don't see this problem with Hadoop 2.6.x.
The client that issues the setPermission call was compiled with Hadoop 2.2.0
libraries.
was:
Tried it on both Hadoop 2.7.1 and 2.7.2, and
{code}
16/02/23 16:37:03.888 DEBUG security.UserGroupInformation:FSPermissionChecker.ja
va:164 - ACCESS CHECK:
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker@299b19af,
doCheckOwner=true, ancestorAccess=null, parentAccess=null, access=null,
subAccess=null, ignoreEmptyDir=false
16/02/23 16:37:03.889 DEBUG ipc.Server:ProtobufRpcEngine.java:631 - Served:
setPermission queueTime= 3 procesingTime= 3 exception= NullPointerException
16/02/23 16:37:03.890 WARN ipc.Server:Server.java:2068 - IPC Server handler 2
on 9000, call org.apache.hadoop.hdfs.protocol.ClientProtocol.setPermission from
127.0.0.1:36190 Call#21 Retry#0
java.lang.NullPointerException
at
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkOwner(FSPermissionChecker.java:247)
at
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:227)
at
org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190)
at
org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1720)
at
org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1704)
at
org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkOwner(FSDirectory.java:1673)
at
org.apache.hadoop.hdfs.server.namenode.FSDirAttrOp.setPermission(FSDirAttrOp.java:61)
at
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermission(FSNamesystem.java:1653)
at
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setPermission(NameNodeRpcServer.java:695)
at
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setPermission(ClientNamenodeProtocolServerSideTranslatorPB.java:453)
at
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at
org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
{code}
I don't see this problem with Hadoop 2.6.x.
The client that issues the setPermission call was compiled with Hadoop 2.2.0
libraries.
> Name node throws NPE when setPermission is called on a path that does not
> exist
> -------------------------------------------------------------------------------
>
> Key: HDFS-9851
> URL: https://issues.apache.org/jira/browse/HDFS-9851
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.7.1, 2.7.2
> Reporter: David Yan
>
> Tried it on both Hadoop 2.7.1 and 2.7.2, and I'm getting the same error when
> setPermission is called on a path that does not exist:
> {code}
> 16/02/23 16:37:03.888 DEBUG
> security.UserGroupInformation:FSPermissionChecker.ja
> va:164 - ACCESS CHECK:
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker@299b19af,
> doCheckOwner=true, ancestorAccess=null, parentAccess=null, access=null,
> subAccess=null, ignoreEmptyDir=false
> 16/02/23 16:37:03.889 DEBUG ipc.Server:ProtobufRpcEngine.java:631 - Served:
> setPermission queueTime= 3 procesingTime= 3 exception= NullPointerException
> 16/02/23 16:37:03.890 WARN ipc.Server:Server.java:2068 - IPC Server handler 2
> on 9000, call org.apache.hadoop.hdfs.protocol.ClientProtocol.setPermission
> from 127.0.0.1:36190 Call#21 Retry#0
> java.lang.NullPointerException
> at
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkOwner(FSPermissionChecker.java:247)
> at
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:227)
> at
> org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190)
> at
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1720)
> at
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1704)
> at
> org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkOwner(FSDirectory.java:1673)
> at
> org.apache.hadoop.hdfs.server.namenode.FSDirAttrOp.setPermission(FSDirAttrOp.java:61)
> at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermission(FSNamesystem.java:1653)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setPermission(NameNodeRpcServer.java:695)
> at
> org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setPermission(ClientNamenodeProtocolServerSideTranslatorPB.java:453)
> at
> org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
> at
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:969)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049)
> at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAs(Subject.java:415)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043)
> {code}
> I don't see this problem with Hadoop 2.6.x.
> The client that issues the setPermission call was compiled with Hadoop 2.2.0
> libraries.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)