[ https://issues.apache.org/jira/browse/HDFS-7225?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhe Zhang updated HDFS-7225: ---------------------------- Attachment: HDFS-7225-v3.patch Stale block invalidation tasks are cleaned in 2 places: # A failed lookup # When a datanode is wiped from the map in {{DatanodeManager}} > 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, HDFS-7225-v2.patch, > HDFS-7225-v3.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)