[jboss-cvs] JBossAS SVN: r77375 - trunk/tomcat/src/main/org/jboss/web/tomcat/service/modcluster/load/impl.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Aug 22 18:51:24 EDT 2008
Author: pferraro
Date: 2008-08-22 18:51:24 -0400 (Fri, 22 Aug 2008)
New Revision: 77375
Modified:
trunk/tomcat/src/main/org/jboss/web/tomcat/service/modcluster/load/impl/DynamicLoadBalanceFactorProvider.java
Log:
Fix recordLoad(...) if history changes during iterations.
Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/modcluster/load/impl/DynamicLoadBalanceFactorProvider.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/modcluster/load/impl/DynamicLoadBalanceFactorProvider.java 2008-08-22 21:20:30 UTC (rev 77374)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/modcluster/load/impl/DynamicLoadBalanceFactorProvider.java 2008-08-22 22:51:24 UTC (rev 77375)
@@ -116,7 +116,7 @@
}
// Convert load ratio to integer percentage and invert to express as "load factor"
- return 100 - ((int) (100 * totalWeightedLoad / totalWeight));
+ return 100 - (int) Math.round(100 * totalWeightedLoad / totalWeight);
}
private List<Double> recordLoad(LoadMetric metric, double load)
@@ -129,10 +129,12 @@
this.loadHistory.put(metric, queue);
}
- // Remove tail of list if at capacity
- else if (queue.size() == this.history)
+ else
{
- queue.remove(queue.size() - 1);
+ for (int i = queue.size(); i >= this.history; --i)
+ {
+ queue.remove(i - 1);
+ }
}
queue.add(0, new Double(load));
More information about the jboss-cvs-commits
mailing list