From 49aa31af6fb8d018fe34b429d25375894baf4971 Mon Sep 17 00:00:00 2001 From: anthony Date: Thu, 30 Dec 2010 14:32:11 -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 within 1 minute --- core/src/com/cloud/host/dao/HostDaoImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/com/cloud/host/dao/HostDaoImpl.java b/core/src/com/cloud/host/dao/HostDaoImpl.java index e414d22ba91..bf426bae46e 100644 --- a/core/src/com/cloud/host/dao/HostDaoImpl.java +++ b/core/src/com/cloud/host/dao/HostDaoImpl.java @@ -189,6 +189,7 @@ 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); @@ -250,8 +251,7 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao SearchCriteria sc = UnmanagedDirectConnectSearch.create(); sc.setParameters("avoidstatus", Status.Removed.toString()); sc.setParameters("clusterId", clusterId); - //sc.setParameters("managementServerId", msid); - + sc.setParameters("lastPinged", lastPingSecondsAfter); return search(sc, new Filter(HostVO.class, "id", true, 0L, limit)); } @@ -263,6 +263,7 @@ public class HostDaoImpl extends GenericDaoBase implements HostDao HostVO host = createForUpdate(); host.setManagementServerId(null); + host.setLastPinged((System.currentTimeMillis() >> 10) - ( 10 * 60 )); host.setDisconnectedOn(new Date()); UpdateBuilder ub = getUpdateBuilder(host);