[jboss-cvs] JBossAS SVN: r72389 - in branches/Branch_4_2/testsuite: src/main/org/jboss/test/cluster/test and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 17 16:49:45 EDT 2008


Author: galder.zamarreno at jboss.com
Date: 2008-04-17 16:49:45 -0400 (Thu, 17 Apr 2008)
New Revision: 72389

Added:
   branches/Branch_4_2/testsuite/src/main/org/jboss/test/cluster/test/ExtendedHASingletonElectionPolicyTestCase.java
   branches/Branch_4_2/testsuite/src/resources/ha/electionpolicy/extended-ha-electionpolicy-service.xml
Modified:
   branches/Branch_4_2/testsuite/imports/sections/cluster.xml
Log:
[JBAS-5170] Test class and deployment descriptor added.

Modified: branches/Branch_4_2/testsuite/imports/sections/cluster.xml
===================================================================
--- branches/Branch_4_2/testsuite/imports/sections/cluster.xml	2008-04-17 20:47:45 UTC (rev 72388)
+++ branches/Branch_4_2/testsuite/imports/sections/cluster.xml	2008-04-17 20:49:45 UTC (rev 72389)
@@ -40,6 +40,11 @@
    	<copy todir="${build.lib}"
    	   file="${build.resources}/ha/electionpolicy/ha-electionpolicy-service.xml"
    	   overwrite="true"/>
+   	   
+    <!-- mbeans for testing HASingleton ExtendedElectionPolicy -->
+   	<copy todir="${build.lib}"
+   	   file="${build.resources}/ha/electionpolicy/extended-ha-electionpolicy-service.xml"
+   	   overwrite="true"/>   	   
 
       <!-- build httpsessionreplication.jar -->
       <war warfile="${build.lib}/http-sr.war"

Added: branches/Branch_4_2/testsuite/src/main/org/jboss/test/cluster/test/ExtendedHASingletonElectionPolicyTestCase.java
===================================================================
--- branches/Branch_4_2/testsuite/src/main/org/jboss/test/cluster/test/ExtendedHASingletonElectionPolicyTestCase.java	                        (rev 0)
+++ branches/Branch_4_2/testsuite/src/main/org/jboss/test/cluster/test/ExtendedHASingletonElectionPolicyTestCase.java	2008-04-17 20:49:45 UTC (rev 72389)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.cluster.test;
+
+import junit.framework.Test;
+
+/**
+ * Runs the HASingleton election policy tests with extended ha singleton 
+ * election policies. 
+ * 
+ * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
+ */
+public class ExtendedHASingletonElectionPolicyTestCase extends HASingletonElectionPolicyTestCase
+{
+   public ExtendedHASingletonElectionPolicyTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static Test suite() throws Exception
+   {
+      // Refer to jboss-service.xml under resources/ha/electionpolicy
+      return getDeploySetup(ExtendedHASingletonElectionPolicyTestCase.class, "extended-ha-electionpolicy-service.xml");
+   }   
+}
\ No newline at end of file

Added: branches/Branch_4_2/testsuite/src/resources/ha/electionpolicy/extended-ha-electionpolicy-service.xml
===================================================================
--- branches/Branch_4_2/testsuite/src/resources/ha/electionpolicy/extended-ha-electionpolicy-service.xml	                        (rev 0)
+++ branches/Branch_4_2/testsuite/src/resources/ha/electionpolicy/extended-ha-electionpolicy-service.xml	2008-04-17 20:49:45 UTC (rev 72389)
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE server>
+<server>
+   <!-- First HASingleton, Election policy is to choose the oldest node as master -->
+   <mbean code="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+          name="jboss.examples:service=HASingletonMBeanExample_1">
+   </mbean>
+
+   <mbean code="org.jboss.ha.singleton.ExtendedElectionPolicySimple"
+          name="jboss.examples:service=HASingletonMBeanExample-ExtendedElectionPolicySimple_1">
+     <attribute name="Position">0</attribute>
+   </mbean>
+
+   <mbean code="org.jboss.ha.singleton.HASingletonController" 
+          name="jboss.examples:service=HASingletonMBeanExample-HASingletonController_1">
+      
+      <depends optional-attribute-name="ClusterPartition"
+         proxy-type="attribute">test:service=ElectionPolicyTestPartition</depends>
+      <depends>jboss.examples:service=HASingletonMBeanExample_1</depends>
+      <depends optional-attribute-name="ElectionPolicy"
+         proxy-type="attribute">jboss.examples:service=HASingletonMBeanExample-ExtendedElectionPolicySimple_1</depends>
+      <attribute name="TargetName">jboss.examples:service=HASingletonMBeanExample_1</attribute>
+      <attribute name="TargetStartMethod">startSingleton</attribute>
+      <attribute name="TargetStopMethod">stopSingleton</attribute>
+      <attribute name="TargetStopMethodArgument">true</attribute>
+   </mbean>
+
+   <!-- Second HASingleton, Election policy is to choose the youngest node as master -->
+   <mbean code="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+          name="jboss.examples:service=HASingletonMBeanExample_2">
+   </mbean>
+
+   <mbean code="org.jboss.ha.singleton.ExtendedElectionPolicySimple"
+          name="jboss.examples:service=HASingletonMBeanExample-ExtendedElectionPolicySimple_2">
+     <attribute name="Position">-1</attribute>
+   </mbean>
+
+   <mbean code="org.jboss.ha.singleton.HASingletonController" 
+          name="jboss.examples:service=HASingletonMBeanExample-HASingletonController_2">
+      
+      <depends optional-attribute-name="ClusterPartition"
+         proxy-type="attribute">test:service=ElectionPolicyTestPartition</depends>
+      <depends>jboss.examples:service=HASingletonMBeanExample_2</depends>
+      <depends optional-attribute-name="ElectionPolicy"
+         proxy-type="attribute">jboss.examples:service=HASingletonMBeanExample-ExtendedElectionPolicySimple_2</depends>
+      <attribute name="TargetName">jboss.examples:service=HASingletonMBeanExample_2</attribute>
+      <attribute name="TargetStartMethod">startSingleton</attribute>
+      <attribute name="TargetStopMethod">stopSingleton</attribute>
+      <attribute name="TargetStopMethodArgument">true</attribute>
+   </mbean>
+
+   <!-- Third HASingleton, Election policy is to choose the 2nd oldest node as master -->
+   <mbean code="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+          name="jboss.examples:service=HASingletonMBeanExample_3">
+   </mbean>
+
+   <mbean code="org.jboss.ha.singleton.ExtendedElectionPolicySimple"
+          name="jboss.examples:service=HASingletonMBeanExample-ExtendedElectionPolicySimple_3">
+     <attribute name="Position">1</attribute>
+   </mbean>
+
+   <mbean code="org.jboss.ha.singleton.HASingletonController" 
+          name="jboss.examples:service=HASingletonMBeanExample-HASingletonController_3">
+      
+      <depends optional-attribute-name="ClusterPartition"
+         proxy-type="attribute">test:service=ElectionPolicyTestPartition</depends>
+      <depends>jboss.examples:service=HASingletonMBeanExample_3</depends>
+      <depends optional-attribute-name="ElectionPolicy"
+         proxy-type="attribute">jboss.examples:service=HASingletonMBeanExample-ExtendedElectionPolicySimple_3</depends>
+      <attribute name="TargetName">jboss.examples:service=HASingletonMBeanExample_3</attribute>
+      <attribute name="TargetStartMethod">startSingleton</attribute>
+      <attribute name="TargetStopMethod">stopSingleton</attribute>
+      <attribute name="TargetStopMethodArgument">true</attribute>
+   </mbean>
+
+   <!-- Fourth HASingleton, No election policy defined. By default, the oldest node is selected -->
+   <mbean code="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+          name="jboss.examples:service=HASingletonMBeanExample_4">
+   </mbean>
+
+   <mbean code="org.jboss.ha.singleton.HASingletonController" 
+          name="jboss.examples:service=HASingletonMBeanExample-HASingletonController_4">
+      
+      <depends optional-attribute-name="ClusterPartition"
+         proxy-type="attribute">test:service=ElectionPolicyTestPartition</depends>
+      <depends>jboss.examples:service=HASingletonMBeanExample_4</depends>
+      <attribute name="TargetName">jboss.examples:service=HASingletonMBeanExample_4</attribute>
+      <attribute name="TargetStartMethod">startSingleton</attribute>
+      <attribute name="TargetStopMethod">stopSingleton</attribute>
+      <attribute name="TargetStopMethodArgument">true</attribute>
+   </mbean>
+
+   <!-- ==================================================================== -->
+   <!-- Partition used by the above beans                                    -->
+   <!-- ==================================================================== -->
+
+   <mbean code="org.jboss.ha.framework.server.ClusterPartition"
+      name="test:service=ElectionPolicyTestPartition">      
+
+      <!-- Name of the partition being built -->
+      <attribute name="PartitionName">ElectionPolicyTestPartition</attribute>
+
+      <!-- The address used to determine the node name -->
+      <attribute name="NodeAddress">${jboss.bind.address}</attribute>
+
+      <!-- Determine if deadlock detection is enabled -->
+      <attribute name="DeadlockDetection">False</attribute>
+     
+      <!-- Keep this timeout short -->
+      <attribute name="StateTransferTimeout">2000</attribute>
+
+      <!-- The JGroups protocol configuration -->
+      <attribute name="PartitionConfig">
+         <!--
+         The default UDP stack:
+         - If you have a multihomed machine, set the UDP protocol's bind_addr attribute to the
+         appropriate NIC IP address, e.g bind_addr="192.168.0.2".
+         - On Windows machines, because of the media sense feature being broken with multicast
+         (even after disabling media sense) set the UDP protocol's loopback attribute to true
+         -->
+         <Config>
+            <UDP mcast_addr="${jboss.partition.udpGroup:228.1.2.3}" mcast_port="33333"
+               ip_ttl="8" ip_mcast="true"
+               mcast_send_buf_size="800000" mcast_recv_buf_size="150000"
+               ucast_send_buf_size="800000" ucast_recv_buf_size="150000"
+               loopback="false"/>
+            <PING timeout="2000" num_initial_members="3"
+               up_thread="true" down_thread="true"/>
+            <MERGE2 min_interval="10000" max_interval="20000"/>
+            <FD_SOCK down_thread="false" up_thread="false"/>
+            <FD shun="true" up_thread="true" down_thread="true"
+               timeout="20000" max_tries="5"/>
+            <VERIFY_SUSPECT timeout="3000" num_msgs="3"
+               up_thread="true" down_thread="true"/>
+            <pbcast.NAKACK gc_lag="50" retransmit_timeout="300,600,1200,2400,4800"
+               max_xmit_size="8192"
+               up_thread="true" down_thread="true"/>
+            <UNICAST timeout="300,600,1200,2400,4800" window_size="100" min_threshold="10"
+               down_thread="true"/>
+            <pbcast.STABLE desired_avg_gossip="20000"
+               up_thread="true" down_thread="true"/>
+            <FRAG frag_size="8192"
+               down_thread="true" up_thread="true"/>
+            <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
+               shun="true" print_local_addr="true"/>
+            <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
+         </Config>
+
+         <!-- Alternate TCP stack: customize it for your environment, change bind_addr and initial_hosts -->
+         <!--
+         <Config>
+            <TCP bind_addr="thishost" start_port="7800" loopback="true"/>
+            <TCPPING initial_hosts="thishost[7800],otherhost[7800]" port_range="3" timeout="3500"
+               num_initial_members="3" up_thread="true" down_thread="true"/>
+            <MERGE2 min_interval="5000" max_interval="10000"/>
+            <FD_SOCK down_thread="false" up_thread="false"/>
+            <FD shun="true" up_thread="true" down_thread="true"
+               timeout="20000" max_tries="5"/>
+            <VERIFY_SUSPECT timeout="1500" down_thread="false" up_thread="false" />
+            <pbcast.NAKACK down_thread="true" up_thread="true" gc_lag="100"
+               retransmit_timeout="3000"/>
+            <pbcast.STABLE desired_avg_gossip="20000" down_thread="false" up_thread="false" />
+            <pbcast.GMS join_timeout="5000" join_retry_timeout="2000" shun="false"
+               print_local_addr="true" down_thread="true" up_thread="true"/>
+            <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
+         </Config>
+         -->
+      </attribute>
+
+   </mbean>
+
+</server>




More information about the jboss-cvs-commits mailing list