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.