From 7171e2190ee26f3af9daddf576489d763edd3956 Mon Sep 17 00:00:00 2001 From: KevinWikant <94480406+KevinWikant@users.noreply.github.com> Date: Sun, 30 Jan 2022 23:04:32 -0500 Subject: [PATCH] HDFS-16443. Fix edge case where DatanodeAdminDefaultMonitor doubly enqueues a DatanodeDescriptor on exception (#3942) Signed-off-by: Akira Ajisaka (cherry picked from commit 089e06de2135988c326328e544f04b5129c53517) --- .../hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java | 1 + 1 file changed, 1 insertion(+) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java index 0684f47279..2da3de0714 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeAdminDefaultMonitor.java @@ -275,6 +275,7 @@ private void check() { + "{}.", dn, e); getPendingNodes().add(dn); toRemove.add(dn); + unhealthyDns.remove(dn); } finally { iterkey = dn; }