From 38dddad74e68ac1f2a6c78026d0d48deb9932bef Mon Sep 17 00:00:00 2001 From: Anu Engineer Date: Tue, 4 Apr 2017 10:09:40 -0700 Subject: [PATCH] HDFS-11620. Ozone: Allocate container for MiniOzone cluster fails because of insufficient space error. Contributed by Mukul Kumar Singh. --- .../scm/container/placement/algorithms/SCMCommonPolicy.java | 5 +++-- .../test/java/org/apache/hadoop/ozone/MiniOzoneCluster.java | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/placement/algorithms/SCMCommonPolicy.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/placement/algorithms/SCMCommonPolicy.java index 5078111d982..36712ef10a7 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/placement/algorithms/SCMCommonPolicy.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/scm/container/placement/algorithms/SCMCommonPolicy.java @@ -125,8 +125,9 @@ public abstract class SCMCommonPolicy implements ContainerPlacementPolicy { if (healthyList.size() < nodesRequired) { msg = String.format("Unable to find enough nodes that meet the space " + - "requirement in healthy node set. Nodes required: %d Found: %d", - nodesRequired, healthyList.size()); + "requirement of %d bytes in healthy node set." + + " Nodes required: %d Found: %d", + sizeRequired, nodesRequired, healthyList.size()); LOG.error(msg); throw new SCMException(msg, SCMException.ResultCodes.FAILED_TO_FIND_NODES_WITH_SPACE); diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/MiniOzoneCluster.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/MiniOzoneCluster.java index 0a5120e5fe8..64f4bb2ccaf 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/MiniOzoneCluster.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/ozone/MiniOzoneCluster.java @@ -354,6 +354,7 @@ public final class MiniOzoneCluster extends MiniDFSCluster if (waitForChillModeFinish) { cluster.waitTobeOutOfChillMode(); } + cluster.waitForHeartbeatProcessed(); } catch (Exception e) { // A workaround to propagate MiniOzoneCluster failures without // changing the method signature (which would require cascading