Revert "HDFS-4937. ReplicationMonitor can infinite-loop in BlockPlacementPolicyDefault#chooseRandom(). Contributed by Kihwal Lee."
This reverts commit 43539b5ff4ac0874a8a454dc93a2a782b0e0ea8f. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7fd64167 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7fd64167 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7fd64167 Branch: refs/heads/HDFS-7240 Commit: 7fd6416759cbb202ed21b47d28c1587e04a5cdc6 Parents: 2ea4413 Author: yliu <y...@apache.org> Authored: Sat Oct 31 16:20:48 2015 +0800 Committer: yliu <y...@apache.org> Committed: Sat Oct 31 16:20:48 2015 +0800 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 --- .../blockmanagement/BlockPlacementPolicyDefault.java | 12 ------------ 2 files changed, 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7fd64167/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 211e7fc..30cdfee 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -2201,9 +2201,6 @@ Release 2.8.0 - UNRELEASED HDFS-9332. Fix Precondition failures from NameNodeEditLogRoller while saving namespace. (wang) - HDFS-4937. ReplicationMonitor can infinite-loop in - BlockPlacementPolicyDefault#chooseRandom() (kihwal) - Release 2.7.2 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/7fd64167/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicyDefault.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicyDefault.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicyDefault.java index f610574..d9b8d60 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicyDefault.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockPlacementPolicyDefault.java @@ -659,7 +659,6 @@ public class BlockPlacementPolicyDefault extends BlockPlacementPolicy { int numOfAvailableNodes = clusterMap.countNumOfAvailableNodes( scope, excludedNodes); - int refreshCounter = numOfAvailableNodes; StringBuilder builder = null; if (LOG.isDebugEnabled()) { builder = debugLoggingBuilder.get(); @@ -709,17 +708,6 @@ public class BlockPlacementPolicyDefault extends BlockPlacementPolicy { // If no candidate storage was found on this DN then set badTarget. badTarget = (storage == null); } - // Refresh the node count. If the live node count became smaller, - // but it is not reflected in this loop, it may loop forever in case - // the replicas/rack cannot be satisfied. - if (--refreshCounter == 0) { - refreshCounter = clusterMap.countNumOfAvailableNodes(scope, - excludedNodes); - // It has already gone through enough number of nodes. - if (refreshCounter <= excludedNodes.size()) { - break; - } - } } if (numOfReplicas>0) {