J.Andreina created HDFS-8780:
--------------------------------

             Summary: Fetching live/dead datanode list with arg true for 
removeDecommissionNode,returns list with decom node.
                 Key: HDFS-8780
                 URL: https://issues.apache.org/jira/browse/HDFS-8780
             Project: Hadoop HDFS
          Issue Type: Bug
            Reporter: J.Andreina
            Assignee: J.Andreina
            Priority: Critical


Current implementation: 
======================

DatanodeManager#removeDecomNodeFromList() , Decommissioned node will be removed 
from dead/live node list only if below conditions are met
 I . If the Include list is not empty. 
 II. If include and exclude list does not have decommissioned node and node 
state is decommissioned. 

{code}
      if (!hostFileManager.hasIncludes()) {
              return;
       }

      if ((!hostFileManager.isIncluded(node)) && 
(!hostFileManager.isExcluded(node))
          && node.isDecommissioned()) {
        // Include list is not empty, an existing datanode does not appear
        // in both include or exclude lists and it has been decommissioned.
        // Remove it from the node list.
        it.remove();
      }
{code}

As mentioned in javadoc a datanode cannot be in "already decommissioned 
datanode state".
Following the steps mentioned in javadoc datanode state is "dead" and not 
decommissioned.

*Can we avoid the unnecessary checks and have check for the node is in 
decommissioned state then remove from node list. ?*
Please provide your feedback.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to