From 08bb4542416585f7e6f5c13c3fe03ba84b8b6781 Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Fri, 6 May 2011 09:50:10 -0700 Subject: [PATCH] Eliminate the initialize call if we know someone else is connecting to a host --- .../com/cloud/agent/manager/AgentManagerImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 00ac64ea3e4..12828fb2011 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -1809,13 +1809,21 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, ResourceS } protected AgentAttache simulateStart(Long id, ServerResource resource, Map details, boolean old, List hostTags, String allocationState) throws IllegalArgumentException { + HostVO host = null; + if (id != null) { + host = _hostDao.findById(id); + if (host.getManagementServerId() != null) { + s_logger.info("MS " + host.getManagementServerId() + " is loading " + host); + return null; + } + } + StartupCommand[] cmds = resource.initialize(); if (cmds == null) { return null; } - if (id != null) { - HostVO host = _hostDao.findById(id); + if (host != null) { if (!_hostDao.directConnect(host, _nodeId)) { s_logger.info("Someone else is loading " + host); resource.disconnected();