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
This commit is contained in:
anthony 2010-12-30 14:32:11 -08:00
parent 3b1481598e
commit 49aa31af6f
1 changed files with 3 additions and 2 deletions

View File

@ -189,6 +189,7 @@ public class HostDaoImpl extends GenericDaoBase<HostVO, Long> 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<HostVO, Long> 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<HostVO, Long> implements HostDao
HostVO host = createForUpdate();
host.setManagementServerId(null);
host.setLastPinged((System.currentTimeMillis() >> 10) - ( 10 * 60 ));
host.setDisconnectedOn(new Date());
UpdateBuilder ub = getUpdateBuilder(host);