[ https://issues.apache.org/jira/browse/HDFS-7497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yongjun Zhang updated HDFS-7497: -------------------------------- Status: Patch Available (was: Open) Submit patch rev 001. > Inconsistent report of decommissioning DataNodes between dfsadmin and > NameNode webui > ------------------------------------------------------------------------------------ > > Key: HDFS-7497 > URL: https://issues.apache.org/jira/browse/HDFS-7497 > Project: Hadoop HDFS > Issue Type: Bug > Components: datanode, namenode > Reporter: Yongjun Zhang > Assignee: Yongjun Zhang > Attachments: HDFS-7497.001.patch > > > It's observed that dfsadmin report list DNs in the decomm state while NN UI > list DNs in dead state. > I found what happens is: > NN webui uses two steps to get the result: > * first collect a list of all alive DNs, > * traverse through all live DNs to find decommissioning DNs. > It calls the following method to decide whether a DN is dead or alive: > {code} > /** Is the datanode dead? */ > boolean isDatanodeDead(DatanodeDescriptor node) { > return (node.getLastUpdate() < > (Time.now() - heartbeatExpireInterval)); > } > {code} > On the other hand, dfsadmin traverse all DNs to find to all decommissioning > DNs (check whether a DN is in {{AdminStates.DECOMMISSION_INPROGRESS}} state), > without checking whether a DN is dead or alive like above. > The problem is, when a DN is determined to be dead, its state may still be > {{AdminStates.DECOMMISSION_INPROGRESS}} . -- This message was sent by Atlassian JIRA (v6.3.4#6332)