Yongjun Zhang created HDFS-7497:
-----------------------------------

             Summary: 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


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)

Reply via email to