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

jhung pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/branch-3.1 by this push:
     new eb6c08e  YARN-10651. CapacityScheduler crashed with NPE in 
AbstractYarnScheduler.updateNodeResource(). Contributed by Haibo Chen
eb6c08e is described below

commit eb6c08e423dd06bf37ff44665ffb98c97e26ad08
Author: Jonathan Hung <jh...@linkedin.com>
AuthorDate: Thu Feb 25 15:08:43 2021 -0800

    YARN-10651. CapacityScheduler crashed with NPE in 
AbstractYarnScheduler.updateNodeResource(). Contributed by Haibo Chen
    
    (cherry picked from commit f348ab3f2f468751af329a1ffce4917cb000fcbf)
    (cherry picked from commit be6e99963ded94adf6f447ff53f2ba66b99120ca)
    (cherry picked from commit 6863a5bb8ace591de3374102920bba916dbebfda)
---
 .../yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java
index 10c5b97..1bc2271 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/AbstractYarnScheduler.java
@@ -834,6 +834,11 @@ public abstract class AbstractYarnScheduler
     try {
       writeLock.lock();
       SchedulerNode node = getSchedulerNode(nm.getNodeID());
+      if (node == null) {
+        LOG.info("Node: " + nm.getNodeID() + " has already been taken out of " 
+
+            "scheduling. Skip updating its resource");
+        return;
+      }
       Resource newResource = resourceOption.getResource();
       Resource oldResource = node.getTotalResource();
       if (!oldResource.equals(newResource)) {


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to