[ https://issues.apache.org/jira/browse/HDFS-7225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14177948#comment-14177948 ]
Zhe Zhang commented on HDFS-7225: --------------------------------- [~andrew.wang] Thanks for the suggestion. I think that's a good idea. It assumes that the NN will make the same decision to invalidate those blocks when the volume is back. I think it's a valid assumption. I'll implement that option. > Failed DataNode lookup can crash NameNode with NullPointerException > ------------------------------------------------------------------- > > Key: HDFS-7225 > URL: https://issues.apache.org/jira/browse/HDFS-7225 > Project: Hadoop HDFS > Issue Type: Bug > Components: namenode > Affects Versions: 2.6.0 > Reporter: Zhe Zhang > Assignee: Zhe Zhang > Attachments: HDFS-7225-v1.patch > > > {{BlockManager#invalidateWorkForOneNode}} looks up a DataNode by the > {{datanodeUuid}} and passes the resultant {{DatanodeDescriptor}} to > {{InvalidateBlocks#invalidateWork}}. However, if a wrong or outdated > {{datanodeUuid}} is used, a null pointer will be passed to {{invalidateWork}} > which will use it to lookup in a {{TreeMap}}. Since the key type is > {{DatanodeDescriptor}}, key comparison is based on the IP address. A null key > will crash the NameNode with an NPE. -- This message was sent by Atlassian JIRA (v6.3.4#6332)