Explorar o código

YARN-9584. Should put initializeProcessTrees method call before get pid. Contributed by Wanqiang Ji.

(cherry picked from commit 67414a1a80039e70e0afc1de171831a6e981f37a)
Zhankun Tang %!s(int64=5) %!d(string=hai) anos
pai
achega
df2ae271cc

+ 1 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/monitor/ContainersMonitorImpl.java

@@ -428,11 +428,10 @@ public class ContainersMonitorImpl extends AbstractService implements
           ContainerId containerId = entry.getKey();
           ProcessTreeInfo ptInfo = entry.getValue();
           try {
-            String pId = ptInfo.getPID();
-
             // Initialize uninitialized process trees
             initializeProcessTrees(entry);
 
+            String pId = ptInfo.getPID();
             if (pId == null || !isResourceCalculatorAvailable()) {
               continue; // processTree cannot be tracked
             }