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)