You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sm...@apache.org on 2013/06/12 19:39:26 UTC

svn commit: r1492300 - /incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java

Author: smohanty
Date: Wed Jun 12 17:39:26 2013
New Revision: 1492300

URL: http://svn.apache.org/r1492300
Log:
AMBARI-2365. Use lock or concurrent hash map to store response and responseId for heartbeat. (smohanty)

Modified:
    incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java

Modified: incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java?rev=1492300&r1=1492299&r2=1492300&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java (original)
+++ incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java Wed Jun 12 17:39:26 2013
@@ -42,10 +42,11 @@ import org.apache.ambari.server.utils.Ve
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.ambari.server.state.svccomphost.HBaseMasterPortScanner;
 
 
@@ -72,8 +73,8 @@ public class HeartBeatHandler {
   private HeartbeatMonitor heartbeatMonitor;
   @Inject
   private Gson gson;
-  private Map<String, Long> hostResponseIds = new HashMap<String, Long>();
-  private Map<String, HeartBeatResponse> hostResponses = new HashMap<String, HeartBeatResponse>();
+  private Map<String, Long> hostResponseIds = new ConcurrentHashMap<String, Long>();
+  private Map<String, HeartBeatResponse> hostResponses = new ConcurrentHashMap<String, HeartBeatResponse>();
 
   @Inject
   public HeartBeatHandler(Clusters fsm, ActionQueue aq, ActionManager am,
@@ -101,7 +102,7 @@ public class HeartBeatHandler {
     HeartBeatResponse response;
     if (currentResponseId == null) {
       //Server restarted, or unknown host.
-      LOG.error("CurrentResponseId unknown - send register command");
+      LOG.error("CurrentResponseId unknown for " + hostname + " - send register command");
       return createRegisterCommand();
     }