From 48c2f68af090653c082bde255c06457fc43489ed Mon Sep 17 00:00:00 2001 From: alena Date: Wed, 22 Jun 2011 17:13:25 -0700 Subject: [PATCH] bug 10416: fixed the bug in agentLoadBalancerPlanner status 10416: resolved fixed --- .../ClusterBasedAgentLoadBalancerPlanner.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/server/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java b/server/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java index 1862ced8cbd..a752601d871 100644 --- a/server/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java +++ b/server/src/com/cloud/cluster/agentlb/ClusterBasedAgentLoadBalancerPlanner.java @@ -100,12 +100,10 @@ public class ClusterBasedAgentLoadBalancerPlanner implements AgentLoadBalancerPl int hostsLeftToGive = hostsToGive; int hostsLeft = directHosts.size(); List hostsToReturn = new ArrayList(); - int count = 0; for (Long cluster : hostToClusterMap.keySet()) { List hostsInCluster = hostToClusterMap.get(cluster); hostsLeft = hostsLeft - hostsInCluster.size(); - count++; if (hostsToReturn.size() < hostsToGive) { s_logger.debug("Trying cluster id=" + cluster); @@ -114,14 +112,12 @@ public class ClusterBasedAgentLoadBalancerPlanner implements AgentLoadBalancerPl s_logger.debug("Skipping cluster id=" + cluster + " as it has more hosts that we need: " + hostsInCluster.size() + " vs " + hostsLeftToGive); continue; } else { - if (count == hostToClusterMap.size()) { - //get all hosts that are needed from the cluster - for (int i=0; i <= hostsLeftToGive; i++) { - hostsToReturn.add(hostsInCluster.get(i)); - hostsLeftToGive = hostsLeftToGive - 1; - s_logger.debug("Taking host " + hostsInCluster.get(i) + " from cluster " + cluster); - } - } + //get all hosts that are needed from the cluster + s_logger.debug("Taking " + hostsLeftToGive + " from cluster " + cluster); + for (int i=0; i < hostsLeftToGive; i++) { + hostsToReturn.add(hostsInCluster.get(i)); + } + break; } } else {