You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ch...@apache.org on 2013/04/04 17:14:10 UTC

git commit: updated refs/heads/4.1 to 0c38d67

Updated Branches:
  refs/heads/4.1 7b3e2a72f -> 0c38d6781


Fix for _pingTimeout being 0 in AgentMonitor

With commit d79f1f6fdc8307aa4038bfb2c7607904b89eedbe the AgentMonitor
was replaced with a pluggable service. However the ping timeout in the
original constructor was not passed on anymore, leading to a default
pingTimout of 0. This would fail all agents constantly.

Modified the startMonitor command to take a pingtimeout as an argument
and instruct AgentManagerImpl to pass it along.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/0c38d678
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0c38d678
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0c38d678

Branch: refs/heads/4.1
Commit: 0c38d67816d34a6d9b069308c6814039a4aad21c
Parents: 7b3e2a7
Author: Hugo Trippaers <ht...@schubergphilis.com>
Authored: Thu Apr 4 14:23:42 2013 +0200
Committer: Chip Childers <ch...@gmail.com>
Committed: Thu Apr 4 15:59:06 2013 +0100

----------------------------------------------------------------------
 .../com/cloud/agent/manager/AgentManagerImpl.java  |    2 +-
 .../src/com/cloud/agent/manager/AgentMonitor.java  |   35 +++------------
 .../cloud/agent/manager/AgentMonitorService.java   |    2 +-
 3 files changed, 9 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0c38d678/server/src/com/cloud/agent/manager/AgentManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
index 5342a4f..220408f 100755
--- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
@@ -668,7 +668,7 @@ public class AgentManagerImpl extends ManagerBase implements AgentManager, Handl
     public boolean start() {
         startDirectlyConnectedHosts();
         if (_monitor != null) {
-            _monitor.startMonitoring();
+            _monitor.startMonitoring(_pingTimeout);
         }
         if (_connection != null) {
             _connection.start();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0c38d678/server/src/com/cloud/agent/manager/AgentMonitor.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/AgentMonitor.java b/server/src/com/cloud/agent/manager/AgentMonitor.java
index ae539fd..f3f6669 100755
--- a/server/src/com/cloud/agent/manager/AgentMonitor.java
+++ b/server/src/com/cloud/agent/manager/AgentMonitor.java
@@ -35,6 +35,7 @@ import com.cloud.agent.api.Command;
 import com.cloud.agent.api.PingCommand;
 import com.cloud.agent.api.StartupCommand;
 import com.cloud.alert.AlertManager;
+import com.cloud.configuration.dao.ConfigurationDao;
 import com.cloud.dc.DataCenterVO;
 import com.cloud.dc.HostPodVO;
 import com.cloud.dc.dao.ClusterDao;
@@ -60,7 +61,7 @@ import com.cloud.vm.dao.VMInstanceDao;
 public class AgentMonitor extends Thread implements AgentMonitorService {
     private static Logger s_logger = Logger.getLogger(AgentMonitor.class);
     private static Logger status_Logger = Logger.getLogger(Status.class);
-    private long _pingTimeout;
+    private long _pingTimeout = 120; // Default set to 120 seconds
     @Inject private HostDao _hostDao;
     private boolean _stop;
     @Inject private AgentManager _agentMgr;
@@ -69,40 +70,16 @@ public class AgentMonitor extends Thread implements AgentMonitorService {
     @Inject private HostPodDao _podDao = null;
     @Inject private AlertManager _alertMgr;
     private long _msId;
-    private ConnectionConcierge _concierge;
     @Inject ClusterDao _clusterDao;
     @Inject ResourceManager _resourceMgr;
-
+        
     // private ConnectionConcierge _concierge;
     private Map<Long, Long> _pingMap;
 
     public AgentMonitor() {
         _pingMap = new ConcurrentHashMap<Long, Long>(10007);
     }
-
-    public AgentMonitor(long msId, HostDao hostDao, VMInstanceDao vmDao, DataCenterDao dcDao, HostPodDao podDao, AgentManagerImpl agentMgr, AlertManager alertMgr, long pingTimeout) {
-        super("AgentMonitor");
-        _msId = msId;
-        _pingTimeout = pingTimeout;
-        _hostDao = hostDao;
-        _agentMgr = agentMgr;
-        _stop = false;
-        _vmDao = vmDao;
-        _dcDao = dcDao;
-        _podDao = podDao;
-        _alertMgr = alertMgr;
-        _pingMap = new ConcurrentHashMap<Long, Long>(10007);
-        // try {
-        // Connection conn = Transaction.getStandaloneConnectionWithException();
-        // conn.setAutoCommit(true);
-        // conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
-        // _concierge = new ConnectionConcierge("AgentMonitor", conn, true);
-        // } catch (SQLException e) {
-        // throw new CloudRuntimeException("Unable to get a db connection", e);
-        // }
-
-    }
-
+    
     /**
      * Check if the agent is behind on ping
      *
@@ -297,7 +274,9 @@ public class AgentMonitor extends Thread implements AgentMonitorService {
         return -1;
     }
 
-    public void startMonitoring() {
+    @Override
+    public void startMonitoring(long pingTimeout) {
+        _pingTimeout = pingTimeout;
     	start();
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0c38d678/server/src/com/cloud/agent/manager/AgentMonitorService.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/AgentMonitorService.java b/server/src/com/cloud/agent/manager/AgentMonitorService.java
index cdb0c1e..5759e5f 100644
--- a/server/src/com/cloud/agent/manager/AgentMonitorService.java
+++ b/server/src/com/cloud/agent/manager/AgentMonitorService.java
@@ -24,5 +24,5 @@ public interface AgentMonitorService extends Listener {
     public Long getAgentPingTime(long agentId);
     public void pingBy(long agentId);
     public void signalStop();
-    public void startMonitoring();
+    public void startMonitoring(long pingTimeout);
 }