You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by xg...@apache.org on 2014/10/27 18:27:29 UTC

git commit: YARN-2726. CapacityScheduler should explicitly log when an accessible label has no capacity. Contributed by Wangda Tan

Repository: hadoop
Updated Branches:
  refs/heads/trunk baf794dc4 -> ce1a4419a


YARN-2726. CapacityScheduler should explicitly log when an accessible label has no capacity. Contributed by Wangda Tan


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ce1a4419
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ce1a4419
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ce1a4419

Branch: refs/heads/trunk
Commit: ce1a4419a6c938447a675c416567db56bf9cb29e
Parents: baf794d
Author: Xuan <xg...@apache.org>
Authored: Mon Oct 27 10:26:21 2014 -0700
Committer: Xuan <xg...@apache.org>
Committed: Mon Oct 27 10:26:21 2014 -0700

----------------------------------------------------------------------
 hadoop-yarn-project/CHANGES.txt                      |  3 +++
 .../capacity/CapacitySchedulerConfiguration.java     | 15 +++++++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/ce1a4419/hadoop-yarn-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 11c1ac1..009366b 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -763,6 +763,9 @@ Release 2.6.0 - UNRELEASED
     YARN-2734. Skipped sub-folders in the local log dir when aggregating logs.
     (Xuan Gong via zjshen)
 
+    YARN-2726. CapacityScheduler should explicitly log when an accessible
+    label has no capacity. (Wangda Tan via xgong)
+
 Release 2.5.1 - 2014-09-05
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/ce1a4419/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java
index 5beed37..b36172c 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacitySchedulerConfiguration.java
@@ -466,12 +466,19 @@ public class CapacitySchedulerConfiguration extends Configuration {
         nodeLabelCapacities.put(label, 1.0f);
         continue;
       }
-      float capacity =
-          getFloat(getNodeLabelPrefix(queue, label) + CAPACITY, UNDEFINED);
+      String capacityPropertyName = getNodeLabelPrefix(queue, label) + CAPACITY;
+      float capacity = getFloat(capacityPropertyName, UNDEFINED);
+      if (capacity == UNDEFINED) {
+        throw new IllegalArgumentException("Configuration issue: "
+            + " node-label=" + label + " is accessible from queue=" + queue
+            + " but has no capacity set, you should set " 
+            + capacityPropertyName + " in range of [0, 100].");
+      }
       if (capacity < MINIMUM_CAPACITY_VALUE
           || capacity > MAXIMUM_CAPACITY_VALUE) {
-        throw new IllegalArgumentException("Illegal " + "capacity of "
-            + capacity + " for label=" + label + " in queue=" + queue);
+        throw new IllegalArgumentException("Illegal capacity of " + capacity
+            + " for node-label=" + label + " in queue=" + queue
+            + ", valid capacity should in range of [0, 100].");
       }
       if (LOG.isDebugEnabled()) {
         LOG.debug("CSConf - getCapacityOfLabel: prefix="