[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