diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/policies/ComputeFairShares.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/policies/ComputeFairShares.java index f4fad32..b88486f 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/policies/ComputeFairShares.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/policies/ComputeFairShares.java @@ -243,8 +243,9 @@ private static int getFairShareIfFixed(Schedulable sched, return 0; } - // Check if weight is 0 - if (sched.getWeights().getWeight(type) <= 0) { + // Check if weight is 0 or NaN + float weight = sched.getWeights().getWeight(type); + if (Float.isNaN(weight) || weight <= 0) { int minShare = getResourceValue(sched.getMinShare(), type); return (minShare <= 0) ? 0 : minShare; }