This is an automated email from the ASF dual-hosted git repository.

abstractdog pushed a commit to branch branch-0.9
in repository https://gitbox.apache.org/repos/asf/tez.git


The following commit(s) were added to refs/heads/branch-0.9 by this push:
     new 623127765 TEZ-4440. When tez app run in yarn fed cluster, may throw 
NPE (#235) (zhengchenyu reviewed by Laszlo Bodor)
623127765 is described below

commit 623127765c33af3d6b00f5f4ae4dccc816f007f3
Author: zhengchenyu <[email protected]>
AuthorDate: Mon Aug 29 19:50:20 2022 +0800

    TEZ-4440. When tez app run in yarn fed cluster, may throw NPE (#235) 
(zhengchenyu reviewed by Laszlo Bodor)
---
 .../java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java    | 3 ++-
 .../java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java     | 5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java
 
b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java
index 29f350f9d..1b8e19176 100644
--- 
a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java
+++ 
b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java
@@ -780,7 +780,8 @@ public class DagAwareYarnTaskScheduler extends TaskScheduler
 
   @Override
   public Resource getAvailableResources() {
-    return client.getAvailableResources();
+    Resource resource = client.getAvailableResources();
+    return resource == null ? Resource.newInstance(0, 0) : resource;
   }
 
   @Override
diff --git 
a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java 
b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java
index 6f51566f7..ea0bdb92e 100644
--- 
a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java
+++ 
b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java
@@ -254,7 +254,8 @@ public class YarnTaskSchedulerService extends TaskScheduler
 
   @Override
   public Resource getAvailableResources() {
-    return amRmClient.getAvailableResources();
+    Resource resource = amRmClient.getAvailableResources();
+    return resource == null ? Resource.newInstance(0, 0) : resource;
   }
 
   @Override
@@ -1166,7 +1167,7 @@ public class YarnTaskSchedulerService extends 
TaskScheduler
     ContainerId[] preemptedContainers = null;
     int numPendingRequestsToService = 0;
     synchronized (this) {
-      Resource freeResources = amRmClient.getAvailableResources();
+      Resource freeResources = this.getAvailableResources();
       if (LOG.isDebugEnabled()) {
         LOG.debug(constructPreemptionPeriodicLog(freeResources));
       } else {

Reply via email to