瀏覽代碼

YARN-10691. DominantResourceCalculator isInvalidDivisor should consider only countable resource types. Contributed by Bilwa S T.

(cherry picked from commit c4581827a92d9715ad1f11eb4012e4d537bb4046)
Jim Brennan 4 年之前
父節點
當前提交
48aa23eb3b

+ 3 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java

@@ -380,8 +380,9 @@ public class DominantResourceCalculator extends ResourceCalculator {
 
   @Override
   public boolean isInvalidDivisor(Resource r) {
-    for (ResourceInformation res : r.getResources()) {
-      if (res.getValue() == 0L) {
+    int maxLength = ResourceUtils.getNumberOfCountableResourceTypes();
+    for (int i = 0; i < maxLength; i++) {
+      if (r.getResourceInformation(i).getValue() == 0L) {
         return true;
       }
     }