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: [email protected]
For additional commands, e-mail: [email protected]