org.rhq.enterprise.server.core.AgentManagerBean.checkForSuspectAgents() Query q = entityManager.createNamedQuery(Agent.QUERY_FIND_ALL_SUSPECT_AGENTS); that query returns a composite. That composite should include the new BACKFILLED column data so we can avoid doing this for each suspected agent: if (!availabilityManager.isAgentBackfilled(record.getAgentId())) { that will then become this: if (!record.isBackfilled()) effectively reducing this down from N queries to 1 (N being the # of suspected agents)
we need this in the PERF branch and trunk
along with this, I say we increase the time between check jobs. Right now its 30s in StartupServlet. We have a quiet time of 15m right now (recently changed to that). We could increase the job period to 1minute or even up to 5 minutes (thus we wouldn't detect an agent crash between 16m and 20m depending if we use 1m or 5m check job periods)
branch 1_2_0_GA_PERF: rev4893 - use backfilled precompute status bit in agent table to prevent N roundtrips back t othe DB for N suspect agents;
rev5080 - use backfilled precompute status bit in agent table to prevent N roundtrips back t othe DB for N suspect agents;
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-2349