You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Yongjun Zhang (JIRA)" <ji...@apache.org> on 2014/12/11 07:13:14 UTC

[jira] [Updated] (HDFS-7497) Inconsistent report of decommissioning DataNodes between dfsadmin and NameNode webui

     [ https://issues.apache.org/jira/browse/HDFS-7497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yongjun Zhang updated HDFS-7497:
--------------------------------
    Attachment: HDFS-7497.001.patch

> 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)