Selaa lähdekoodia

YARN-9237. NM should ignore sending finished apps to RM during RM fail-over. Contributed by Jiandan Yang.

(cherry picked from commit 4f63ffe444286dac91ed36fd647d8ce69e75b0f0)
Weiwei Yang 6 vuotta sitten
vanhempi
commit
d182c81938

+ 7 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java

@@ -578,7 +578,13 @@ public class NodeStatusUpdaterImpl extends AbstractService implements
 
   private List<ApplicationId> getRunningApplications() {
     List<ApplicationId> runningApplications = new ArrayList<ApplicationId>();
-    runningApplications.addAll(this.context.getApplications().keySet());
+    for (Entry<ApplicationId, Application> appEntry : this.context
+        .getApplications().entrySet()) {
+      if (ApplicationState.FINISHED != appEntry.getValue()
+          .getApplicationState()) {
+        runningApplications.add(appEntry.getKey());
+      }
+    }
     return runningApplications;
   }