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.

Reply via email to