From c683fda236f243142afc76c6918704839326ef58 Mon Sep 17 00:00:00 2001 From: anthony Date: Fri, 2 Sep 2011 11:06:34 -0700 Subject: [PATCH] set timeout for CheckOnHostCommand to 50 s --- .../cloud/agent/manager/AgentManagerImpl.java | 20 ++++++------------- .../com/cloud/ha/XenServerInvestigator.java | 2 +- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 1a54603d341..a11d178920b 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -856,21 +856,13 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager { s_logger.debug("checking if agent (" + hostId + ") is alive"); } - try { - Request req = new Request(hostId, _nodeId, new CheckHealthCommand(), true); - req.setSequence(agent.getNextSequence()); - Answer[] answers = agent.send(req, 50 * 1000); - if (answers != null && answers[0] != null && answers[0].getResult()) { - Status status = Status.Up; - if (s_logger.isDebugEnabled()) { - s_logger.debug("agent (" + hostId + ") responded to checkHeathCommand, reporting that agent is " + status); - } - return status; + Answer answer = easySend(hostId, new CheckHealthCommand(), 50 * 1000); + if (answer != null && answer.getResult()) { + Status status = Status.Up; + if (s_logger.isDebugEnabled()) { + s_logger.debug("agent (" + hostId + ") responded to checkHeathCommand, reporting that agent is " + status); } - } catch (AgentUnavailableException e) { - s_logger.debug("Agent is unavailable so we move on. Error: " + e.getMessage()); - } catch (OperationTimedoutException e) { - s_logger.debug("Timed Out " + e.getMessage()); + return status; } return _haMgr.investigate(hostId); diff --git a/server/src/com/cloud/ha/XenServerInvestigator.java b/server/src/com/cloud/ha/XenServerInvestigator.java index 57d70e1e06a..bb03cbad7fa 100644 --- a/server/src/com/cloud/ha/XenServerInvestigator.java +++ b/server/src/com/cloud/ha/XenServerInvestigator.java @@ -56,7 +56,7 @@ public class XenServerInvestigator extends AdapterBase implements Investigator { if (neighbor.getId() == agent.getId() || neighbor.getHypervisorType() != HypervisorType.XenServer) { continue; } - Answer answer = _agentMgr.easySend(neighbor.getId(), cmd); + Answer answer = _agentMgr.easySend(neighbor.getId(), cmd, 50 * 1000); if (answer != null && answer.getResult()) { CheckOnHostAnswer ans = (CheckOnHostAnswer)answer; if (!ans.isDetermined()) {