Browse Source

YARN-3359. Addendum for Recover collector list when RM fails over (Li Lu via Varun Saxena)

Varun Saxena 8 years ago
parent
commit
c92a7ab31c

+ 2 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/Context.java

@@ -70,14 +70,14 @@ public interface Context {
    * @return registering collectors, or null if the timeline service v.2 is not
    * enabled
    */
-  Map<ApplicationId, AppCollectorData> getRegisteringCollectors();
+  ConcurrentMap<ApplicationId, AppCollectorData> getRegisteringCollectors();
 
   /**
    * Get the list of collectors registered with the RM and known by this node.
    * @return known collectors, or null if the timeline service v.2 is not
    * enabled.
    */
-  Map<ApplicationId, AppCollectorData> getKnownCollectors();
+  ConcurrentMap<ApplicationId, AppCollectorData> getKnownCollectors();
 
   ConcurrentMap<ContainerId, Container> getContainers();
 

+ 7 - 5
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java

@@ -495,7 +495,7 @@ public class NodeManager extends CompositeService
     if (knownCollectors == null) {
       return;
     }
-    Map<ApplicationId, AppCollectorData> registeringCollectors
+    ConcurrentMap<ApplicationId, AppCollectorData> registeringCollectors
         = context.getRegisteringCollectors();
     for (Map.Entry<ApplicationId, AppCollectorData> entry
         : knownCollectors.entrySet()) {
@@ -532,9 +532,10 @@ public class NodeManager extends CompositeService
     protected final ConcurrentMap<ContainerId, Container> containers =
         new ConcurrentSkipListMap<ContainerId, Container>();
 
-    private Map<ApplicationId, AppCollectorData> registeringCollectors;
+    private ConcurrentMap<ApplicationId, AppCollectorData>
+        registeringCollectors;
 
-    private Map<ApplicationId, AppCollectorData> knownCollectors;
+    private ConcurrentMap<ApplicationId, AppCollectorData> knownCollectors;
 
     protected final ConcurrentMap<ContainerId,
         org.apache.hadoop.yarn.api.records.Container> increasedContainers =
@@ -724,12 +725,13 @@ public class NodeManager extends CompositeService
     }
 
     @Override
-    public Map<ApplicationId, AppCollectorData> getRegisteringCollectors() {
+    public ConcurrentMap<ApplicationId, AppCollectorData>
+        getRegisteringCollectors() {
       return this.registeringCollectors;
     }
 
     @Override
-    public Map<ApplicationId, AppCollectorData> getKnownCollectors() {
+    public ConcurrentMap<ApplicationId, AppCollectorData> getKnownCollectors() {
       return this.knownCollectors;
     }
 

+ 5 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/amrmproxy/BaseAMRMProxyTest.java

@@ -659,11 +659,14 @@ public abstract class BaseAMRMProxyTest {
       return null;
     }
 
-    public Map<ApplicationId, AppCollectorData> getRegisteringCollectors() {
+    @Override
+    public ConcurrentMap<ApplicationId, AppCollectorData>
+        getRegisteringCollectors() {
       return null;
     }
 
-    @Override public Map<ApplicationId, AppCollectorData> getKnownCollectors() {
+    @Override
+    public ConcurrentMap<ApplicationId, AppCollectorData> getKnownCollectors() {
       return null;
     }