Преглед изворни кода

YARN-4729. SchedulerApplicationAttempt#getTotalRequiredResources can throw an NPE. (kasha)

(cherry picked from commit c684f2b007a4808dafbe1c1d3ce01758e281d329)
Karthik Kambatla пре 9 година
родитељ
комит
6a75c5af09

+ 3 - 0
hadoop-yarn-project/CHANGES.txt

@@ -166,6 +166,9 @@ Release 2.9.0 - UNRELEASED
     YARN-4651. Document movetoqueue option in 'YARN Commands'
     YARN-4651. Document movetoqueue option in 'YARN Commands'
     (Takashi Ohnishi via rohithsharmaks)
     (Takashi Ohnishi via rohithsharmaks)
 
 
+    YARN-4729. SchedulerApplicationAttempt#getTotalRequiredResources can throw 
+    an NPE. (kasha)
+
 Release 2.8.0 - UNRELEASED
 Release 2.8.0 - UNRELEASED
 
 
   INCOMPATIBLE CHANGES
   INCOMPATIBLE CHANGES

+ 2 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/SchedulerApplicationAttempt.java

@@ -244,7 +244,8 @@ public class SchedulerApplicationAttempt implements SchedulableEntity {
   }
   }
 
 
   public synchronized int getTotalRequiredResources(Priority priority) {
   public synchronized int getTotalRequiredResources(Priority priority) {
-    return getResourceRequest(priority, ResourceRequest.ANY).getNumContainers();
+    ResourceRequest request = getResourceRequest(priority, ResourceRequest.ANY);
+    return request == null ? 0 : request.getNumContainers();
   }
   }
 
 
   public synchronized Resource getResource(Priority priority) {
   public synchronized Resource getResource(Priority priority) {