From 94a80974d39a7a3b86192d8819285275f3c9da37 Mon Sep 17 00:00:00 2001 From: Yiqun Lin Date: Mon, 6 Feb 2017 13:15:16 +0800 Subject: [PATCH] HDFS-11377. Balancer hung due to no available mover threads. Contributed by yunjiong zhao. (cherry picked from commit 9cbbd1eae893b21212c9bc9e6745c6859317a667) --- .../org/apache/hadoop/hdfs/server/balancer/Dispatcher.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java index 16f535e90c7..36aef8efe8a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/balancer/Dispatcher.java @@ -86,7 +86,6 @@ import com.google.common.base.Preconditions; public class Dispatcher { static final Log LOG = LogFactory.getLog(Dispatcher.class); - private static final int MAX_NO_PENDING_MOVE_ITERATIONS = 5; /** * the period of time to delay the usage of a DataNode after hitting * errors when using it for migrating data @@ -1032,6 +1031,8 @@ public class Dispatcher { } if (moveExecutor == null) { LOG.warn("No mover threads available: skip moving " + p); + targetDn.removePendingBlock(p); + p.proxySource.removePendingBlock(p); return; }