From 3a996151186a14d887d7f2445f34a1b9c3cc72c6 Mon Sep 17 00:00:00 2001 From: "gavin.wang" Date: Tue, 5 Sep 2023 09:29:11 +0800 Subject: [PATCH 1/2] fix NPE bug when multi-node enabled with schedule asynchronously Fix NPE bug when multi-node enabled with schedule asynchronously update reservedContainer null's log info to warn --- .../resourcemanager/scheduler/capacity/CapacityScheduler.java | 4 ++++ 1 file changed, 4 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/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index 6ebadcba1c916..12e7e4d42d98a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -1737,6 +1737,10 @@ private CSAssignment allocateContainerOnSingleNode( private void allocateFromReservedContainer(FiCaSchedulerNode node, boolean withNodeHeartbeat, RMContainer reservedContainer) { + if(reservedContainer == null){ + LOG.warn("reservedContainer is null,that may be unreserved by the proposal judgment thread"); + return; + } FiCaSchedulerApp reservedApplication = getCurrentAttemptForContainer( reservedContainer.getContainerId()); if (reservedApplication == null) { From 056f22135781508f8b465660591046919b3b1cfb Mon Sep 17 00:00:00 2001 From: "gavin.wang" Date: Mon, 23 Sep 2024 09:59:15 +0800 Subject: [PATCH 2/2] update reservedContainer null's log add space after comma --- .../resourcemanager/scheduler/capacity/CapacityScheduler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index 12e7e4d42d98a..5b223c6f46fe1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -1738,7 +1738,7 @@ private CSAssignment allocateContainerOnSingleNode( private void allocateFromReservedContainer(FiCaSchedulerNode node, boolean withNodeHeartbeat, RMContainer reservedContainer) { if(reservedContainer == null){ - LOG.warn("reservedContainer is null,that may be unreserved by the proposal judgment thread"); + LOG.warn("reservedContainer is null, that may be unreserved by the proposal judgment thread"); return; } FiCaSchedulerApp reservedApplication = getCurrentAttemptForContainer(