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 <[email protected]> Authored: Mon Oct 27 10:26:21 2014 -0700 Committer: Xuan <[email protected]> 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="
