HDFS-10335 Mover$Processor#chooseTarget() always chooses the first matching target storage group. Contributed by Mingliang Liu
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/31ed34c9 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/31ed34c9 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/31ed34c9 Branch: refs/heads/branch-2.8 Commit: 31ed34c982fbf9763a21aa7ac84458c48fd136ed Parents: a4db372 Author: Tsz-Wo Nicholas Sze <[email protected]> Authored: Fri Apr 29 11:22:33 2016 -0700 Committer: Tsz-Wo Nicholas Sze <[email protected]> Committed: Fri Apr 29 11:27:14 2016 -0700 ---------------------------------------------------------------------- .../src/main/java/org/apache/hadoop/hdfs/server/mover/Mover.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/31ed34c9/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/mover/Mover.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/mover/Mover.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/mover/Mover.java index 374ad5e..3c63263 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/mover/Mover.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/mover/Mover.java @@ -457,7 +457,9 @@ public class Mover { List<StorageType> targetTypes, Matcher matcher) { final NetworkTopology cluster = dispatcher.getCluster(); for (StorageType t : targetTypes) { - for(StorageGroup target : storages.getTargetStorages(t)) { + final List<StorageGroup> targets = storages.getTargetStorages(t); + Collections.shuffle(targets); + for (StorageGroup target : targets) { if (matcher.match(cluster, source.getDatanodeInfo(), target.getDatanodeInfo())) { final PendingMove pm = source.addPendingMove(db, target); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
