Kevin Wikant created HDFS-16443:
-----------------------------------

             Summary: Fix edge case where DatanodeAdminDefaultMonitor doubly 
enqueues a DatanodeDescriptor on exception
                 Key: HDFS-16443
                 URL: https://issues.apache.org/jira/browse/HDFS-16443
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: hdfs
            Reporter: Kevin Wikant


As part of the fix merged in: https://issues.apache.org/jira/browse/HDFS-16303

There was a rare edge case noticed in DatanodeAdminDefaultMonitor which causes 
a DatanodeDescriptor to be added twice to the pendingNodes queue. 
 * a [datanode is unhealthy so it gets added to 
"unhealthyDns"]([https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java#L227)]
 * an exception is thrown which causes [this catch 
block](https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java#L271)
 to execute
 * the [datanode is added to 
"pendingNodes"]([https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java#L276)]
 * under certain conditions the [datanode can be added again from 
"unhealthyDns" to "pendingNodes" 
here]([https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java#L296)]

This Jira is to track the 1 line fix for this bug



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org

Reply via email to