NullPointerException in FSNamesystem due to getDatanode() return value is not
checked
-------------------------------------------------------------------------------------
Key: HADOOP-1195
URL: https://issues.apache.org/jira/browse/HADOOP-1195
Project: Hadoop
Issue Type: Bug
Components: dfs
Reporter: Konstantin Shvachko
Fix For: 0.13.0
FSNamesystem.getDatanode( nodeID ) returns null if the node is not found.
There are several places where we do not check wether the returned node is
null, e.g.
FSNamesystem.processReport()
FSNamesystem.setDatanodeDead()
FSNamesystem.invalidateBlock()
FSNamesystem.verifyNodeRegistration()
I'm getting the following NPE:
07/04/02 17:31:50 WARN dfs.DataNode: org.apache.hadoop.ipc.RemoteException:
java.io.IOException: java.lang.NullPointerException
at
org.apache.hadoop.dfs.FSNamesystem.shouldNodeShutdown(FSNamesystem.java:3306)
at org.apache.hadoop.dfs.FSNamesystem.processReport(FSNamesystem.java:2012)
at org.apache.hadoop.dfs.NameNode.blockReport(NameNode.java:654)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:341)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:580)
at org.apache.hadoop.ipc.Client.call(Client.java:473)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:164)
at org.apache.hadoop.dfs.$Proxy1.blockReport(Unknown Source)
at org.apache.hadoop.dfs.DataNode.offerService(DataNode.java:460)
at org.apache.hadoop.dfs.DataNode.run(DataNode.java:1095)
at
org.apache.hadoop.dfs.MiniDFSCluster$DataNodeRunner.run(MiniDFSCluster.java:160)
at java.lang.Thread.run(Thread.java:595)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.