From 924acfff4038854df937772592205a1269d3c747 Mon Sep 17 00:00:00 2001 From: anthony Date: Thu, 30 Dec 2010 14:38:49 -0800 Subject: [PATCH] add lastping back to findDirectAgentToLoad function, after MS restart or one MS crash, in markHostsAsDisconnected, all hosts managed by this MS are marked at Dieconnected, and lastping is set to curent time minus 10 minutes, to make sure reconnect happen w --- server/src/com/cloud/host/dao/HostDaoImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/server/src/com/cloud/host/dao/HostDaoImpl.java b/server/src/com/cloud/host/dao/HostDaoImpl.java index e52e56a9015..18965c7beac 100644 --- a/server/src/com/cloud/host/dao/HostDaoImpl.java +++ b/server/src/com/cloud/host/dao/HostDaoImpl.java @@ -191,7 +191,8 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao UnmanagedDirectConnectSearch.and("server", UnmanagedDirectConnectSearch.entity().getManagementServerId(), SearchCriteria.Op.NULL); UnmanagedDirectConnectSearch.and("avoidstatus", UnmanagedDirectConnectSearch.entity().getStatus(), SearchCriteria.Op.NEQ); UnmanagedDirectConnectSearch.and("clusterId", UnmanagedDirectConnectSearch.entity().getClusterId(), SearchCriteria.Op.EQ); - + UnmanagedDirectConnectSearch.and("lastPinged", UnmanagedDirectConnectSearch.entity().getLastPinged(), SearchCriteria.Op.LTEQ); + /* UnmanagedDirectConnectSearch.op(SearchCriteria.Op.OR, "managementServerId", UnmanagedDirectConnectSearch.entity().getManagementServerId(), SearchCriteria.Op.EQ); UnmanagedDirectConnectSearch.and("lastPinged", UnmanagedDirectConnectSearch.entity().getLastPinged(), SearchCriteria.Op.LTEQ); @@ -252,8 +253,7 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao SearchCriteria sc = UnmanagedDirectConnectSearch.create(); sc.setParameters("avoidstatus", Status.Removed.toString()); sc.setParameters("clusterId", clusterId); - // sc.setParameters("lastPinged", lastPingSecondsAfter); - //sc.setParameters("managementServerId", msid); + sc.setParameters("lastPinged", lastPingSecondsAfter); return search(sc, new Filter(HostVO.class, "id", true, 0L, limit)); } @@ -265,7 +265,8 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao sc.setParameters("statuses", (Object[])states); HostVO host = createForUpdate(); - host.setManagementServerId(null); + host.setManagementServerId(null); + host.setLastPinged((System.currentTimeMillis() >> 10) - ( 10 * 60 )); host.setDisconnectedOn(new Date()); UpdateBuilder ub = getUpdateBuilder(host);