commit | 2041448a9d2fbb1b073005c5100dd8ea97ca148b | [log] [tgz] |
---|---|---|
author | Daniel Templeton <templedf@apache.org> | Tue Oct 24 10:04:36 2017 -0700 |
committer | Daniel Templeton <templedf@apache.org> | Wed Oct 25 16:09:33 2017 -0700 |
tree | e4af6540d97b722f366905155d6d02099fa934e1 | |
parent | 0bc3c9fca2f74bd7a8307cadeaefd43b6f82bc49 [diff] |
YARN-6984. DominantResourceCalculator.isAnyMajorResourceZero() should test all resources (Contributed by Sunil G via Daniel Templeton) (cherry picked from commit 679f99b1455a1fcd785aef8ddc705f63cf0e6518)
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java index ca828a5..6b284e3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java
@@ -557,6 +557,14 @@ @Override public boolean isAnyMajorResourceZero(Resource resource) { - return resource.getMemorySize() == 0f || resource.getVirtualCores() == 0; + int maxLength = ResourceUtils.getNumberOfKnownResourceTypes(); + for (int i = 0; i < maxLength; i++) { + ResourceInformation resourceInformation = resource + .getResourceInformation(i); + if (resourceInformation.getValue() == 0L) { + return true; + } + } + return false; } }