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)