[jboss-dev-forums] [Design of Clustering on JBoss (Clusters/JBoss)] - Re: JBAS-4228 Preferred master node for HASingleton

galder.zamarreno@jboss.com do-not-reply at jboss.com
Sun Feb 10 19:11:06 EST 2008


Re 1) Each of the different preferred master definitions is in a different test method, i.e. testIpPort, testHostPort, testOnlyPort, testNonNumericPort, testUnknownHost... that should be enough, shouldn't it?

Re 2) I think I have that one covered, i.e. 

   public void testUnknownHost() throws Exception
  |    {
  |       policy.setPreferredMaster("onceuponatimeinalandfarfaraway:1199");
  |       /* invalid preferred master definiton, so 1st candidate in the list 
  |        * should be chosen */
  |       assertEquals(candidates.get(0), policy.elect());
  |    }
  | 

Btw, while running the the clustered tests for ha singleton election, I have spotted the following WARN message when the last node in the cluster stops and this is the node where the ha singleton was running:


  | 2008-02-10 22:50:57,675 WARN  [org.jboss.ha.singleton.HASingletonController] Stopping failed test:service=HASingletonController_1
  | java.lang.IllegalStateException: list of cluster node candidates where to run the singleton cannot be null
  | at org.jboss.ha.singleton.HASingletonElectionPolicyBase.elect(HASingletonElectionPolicyBase.java:103)
  | at org.jboss.ha.singleton.HASingletonSupport.partitionTopologyChanged(HASingletonSupport.java:169)
  | at org.jboss.ha.jmx.HAServiceMBeanSupport$1.replicantsChanged(HAServiceMBeanSupport.java:244)
  | 

I'm gonna change HASingletonElectionPolicyBase so that it doesn't throw a ISE when the list of candidates, but instead logs a debug message.

I'll make HASingletonElectionPolicy.elect() return null on those occasions which requires noting it in the javadoc and a couple of extra lines in HASingletonSupport.partitionTopologyChanged():

boolean isElectedNewMaster;
  | if (mElectionPolicyMB != null)
  | {
  |    ClusterNode electedNode = mElectionPolicyMB.elect();
  |    isElectedNewMaster = electedNode != null ? electedNode.equals(getHAPartition().getClusterNode()) : false;
  | }
  | else
  | {
  |    isElectedNewMaster = isDRMMasterReplica();
  | }



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4128213#4128213

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4128213



More information about the jboss-dev-forums mailing list