[rhq] Branch 'release/jon3.1.x' - modules/enterprise
Jay Shaughnessy
jshaughn at fedoraproject.org
Tue Aug 21 18:05:38 UTC 2012
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java | 25 ++++++++--
1 file changed, 21 insertions(+), 4 deletions(-)
New commits:
commit 8e4ea191ddcb6e9b99fbc134ef5028071ebde3c3
Author: Jay Shaughnessy <jshaughn at redhat.com>
Date: Tue Aug 21 14:05:18 2012 -0400
Backport some changes to failover list generation validation to handle
differences when using java6 vs java7.
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java
index 29e9e58..77454de 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/cloud/FailoverListManagerBeanTest.java
@@ -225,11 +225,15 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
validateBasic(result, numServers, numAgents);
// validate balance level by level
- for (int i = 0; (i < numServers); ++i) {
+ for (int level = 0; (level < numServers); ++level) {
Map<String, Integer> distributionMap = new HashMap<String, Integer>(numServers);
for (Agent agent : result.keySet()) {
FailoverListComposite flc = result.get(agent);
- FailoverListComposite.ServerEntry server = flc.get(i);
+ // for debugging
+ //if (i == 1) {
+ // System.out.println(agent + " : " + flc);
+ //}
+ FailoverListComposite.ServerEntry server = flc.get(level);
Integer count = distributionMap.get(server.address);
distributionMap.put(server.address, (null == count) ? 1 : ++count);
}
@@ -237,8 +241,21 @@ public class FailoverListManagerBeanTest extends AbstractEJB3Test {
double div = (double) numAgents / (double) numServers;
int ceil = (int) Math.ceil(div);
int floor = (int) Math.floor(div);
- assert agentsOnServer <= ceil;
- assert agentsOnServer >= floor;
+ // as we get deeper be more lenient. We haven't come up with any sort of genius algorithm, it's
+ // just ok, if it balances well for the primary and secondary that's good. Allow a skew of 1 for
+ // level 3-5 and a skew of 2 for levels past that
+ if (level > 2) {
+ ++ceil;
+ --floor;
+ }
+ if (level > 5) {
+ ++ceil;
+ --floor;
+ }
+ assert agentsOnServer <= ceil : "AgentsOnServer [" + agentsOnServer + "] > ceiling [" + ceil
+ + "] (level " + level + ")";
+ assert agentsOnServer >= floor : "AgentsOnServer [" + agentsOnServer + "] < floor [" + floor
+ + "] (level " + level + ")";
}
}
More information about the rhq-commits
mailing list