diff --git a/server/src/com/cloud/agent/manager/AgentMonitor.java b/server/src/com/cloud/agent/manager/AgentMonitor.java index 682d550a468..1733de37bb8 100755 --- a/server/src/com/cloud/agent/manager/AgentMonitor.java +++ b/server/src/com/cloud/agent/manager/AgentMonitor.java @@ -141,10 +141,11 @@ public class AgentMonitor extends Thread implements Listener { try { List behindAgents = findAgentsBehindOnPing(); for (Long agentId : behindAgents) { - SearchCriteriaService sc = SearchCriteria2.create(HostVO.class, ResourceState.class); + SearchCriteriaService sc = SearchCriteria2.create(HostVO.class); sc.selectField(sc.getEntity().getResourceState()); sc.addAnd(sc.getEntity().getId(), Op.EQ, agentId); - ResourceState resourceState = sc.find(); + HostVO h = sc.find(); + ResourceState resourceState = h.getResourceState(); if (resourceState == ResourceState.Disabled || resourceState == ResourceState.Maintenance || resourceState == ResourceState.Unmanaged || resourceState == ResourceState.ErrorInMaintenance) { /* Host is in non-operation state, so no investigation and direct put agent to Disconnected */ status_Logger.debug("Ping timeout but host " + agentId + " is in resource state of " + resourceState + ", so no investigation");