Author: ataylor
Date: 2010-10-11 08:34:44 -0400 (Mon, 11 Oct 2010)
New Revision: 9767
Modified:
branches/2_2_0_HA_Improvements/build-hornetq.xml
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/remoting/ReconnectTest.java
Log:
test fixes
Modified: branches/2_2_0_HA_Improvements/build-hornetq.xml
===================================================================
--- branches/2_2_0_HA_Improvements/build-hornetq.xml 2010-10-11 01:08:38 UTC (rev 9766)
+++ branches/2_2_0_HA_Improvements/build-hornetq.xml 2010-10-11 12:34:44 UTC (rev 9767)
@@ -1385,7 +1385,8 @@
<exclude name="**/cluster/replication/**.class"/>
<exclude
name="**/cluster/failover/*ReplicatedDistributionTest.class"/>
<exclude
name="**/cluster/failover/*SharedStoreDistributionTest.class"/>
- <exclude
name="**/cluster/failover/*ReplicatedNettyAsynchronousFailoverTest.class"/>
+ <exclude
name="**/cluster/failover/*ReplicatedNettyAsynchronousFailoverTest.class"/>
+ <exclude
name="**/cluster/failover/*ReplicatedJMSFailoverTest.class"/>
<exclude name="**/cluster/failover/Remote*.class"/>
<include name="${tests.param}"/>
</fileset>
Modified:
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java
===================================================================
---
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java 2010-10-11
01:08:38 UTC (rev 9766)
+++
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/cluster/distribution/ClusterTestBase.java 2010-10-11
12:34:44 UTC (rev 9767)
@@ -1571,21 +1571,27 @@
for (int node : nodes)
{
//wait for each server to start, it may be a backup and started in a separate
thread
- long timetowait =System.currentTimeMillis() + 5000;
- while(!servers[node].isStarted())
+ waitForServer(servers[node]);
+ }
+ }
+
+ private void waitForServer(HornetQServer server)
+ throws InterruptedException
+ {
+ long timetowait =System.currentTimeMillis() + 5000;
+ while(!server.isStarted())
+ {
+ Thread.sleep(100);
+ if(server.isStarted())
{
- Thread.sleep(100);
- if(servers[node].isStarted())
- {
- break;
- }
- else if(System.currentTimeMillis() > timetowait)
- {
- fail("server didnt start");
- }
+ break;
}
+ else if(System.currentTimeMillis() > timetowait)
+ {
+ fail("server didnt start");
+ }
}
- }
+ }
protected void stopClusterConnections(final int... nodes) throws Exception
{
Modified:
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java
===================================================================
---
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java 2010-10-11
01:08:38 UTC (rev 9766)
+++
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/jms/server/management/JMSUtil.java 2010-10-11
12:34:44 UTC (rev 9767)
@@ -26,12 +26,23 @@
import junit.framework.Assert;
+import org.hornetq.api.core.HornetQException;
import org.hornetq.api.core.TransportConfiguration;
+import org.hornetq.api.core.client.ClientSession;
+import org.hornetq.api.core.client.SessionFailureListener;
+import org.hornetq.core.server.HornetQServer;
+import org.hornetq.core.server.cluster.impl.ClusterManagerImpl;
import org.hornetq.jms.client.HornetQConnectionFactory;
import org.hornetq.api.jms.HornetQJMSClient;
import org.hornetq.core.remoting.impl.invm.InVMConnectorFactory;
+import org.hornetq.spi.core.protocol.RemotingConnection;
import org.hornetq.tests.util.RandomUtil;
+import java.io.File;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
/**
* A JMSUtil
*
@@ -170,6 +181,67 @@
}
}
+ public static void waitForServer(HornetQServer server)
+ throws InterruptedException
+ {
+ long timetowait =System.currentTimeMillis() + 5000;
+ while(!server.isStarted())
+ {
+ Thread.sleep(100);
+ if(server.isStarted())
+ {
+ break;
+ }
+ else if(System.currentTimeMillis() > timetowait)
+ {
+ throw new IllegalStateException("server didnt start");
+ }
+ }
+ }
+
+ public static void crash(HornetQServer server, ClientSession... sessions) throws
Exception
+ {
+ final CountDownLatch latch = new CountDownLatch(sessions.length);
+
+ class MyListener implements SessionFailureListener
+ {
+ public void connectionFailed(final HornetQException me, boolean failedOver)
+ {
+ latch.countDown();
+ }
+
+ public void beforeReconnect(HornetQException exception)
+ {
+ System.out.println("MyListener.beforeReconnect");
+ }
+ }
+ for (ClientSession session : sessions)
+ {
+ session.addFailureListener(new MyListener());
+ }
+ Set<RemotingConnection> connections =
server.getRemotingService().getConnections();
+ for (RemotingConnection remotingConnection : connections)
+ {
+ remotingConnection.destroy();
+ server.getRemotingService().removeConnection(remotingConnection.getID());
+ }
+
+ ClusterManagerImpl clusterManager = (ClusterManagerImpl)
server.getClusterManager();
+ clusterManager.clear();
+ server.stop();
+ // recreate the live.lock file (since it was deleted by the
+ // clean stop
+ File lockFile = new File(server.getConfiguration().getJournalDirectory(),
"live.lock");
+ Assert.assertFalse(lockFile.exists());
+ lockFile.createNewFile();
+
+
+ // Wait to be informed of failure
+ boolean ok = latch.await(10000, TimeUnit.MILLISECONDS);
+
+ Assert.assertTrue(ok);
+ }
+
// Constructors --------------------------------------------------
// Public --------------------------------------------------------
Modified:
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/remoting/ReconnectTest.java
===================================================================
---
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/remoting/ReconnectTest.java 2010-10-11
01:08:38 UTC (rev 9766)
+++
branches/2_2_0_HA_Improvements/tests/src/org/hornetq/tests/integration/remoting/ReconnectTest.java 2010-10-11
12:34:44 UTC (rev 9767)
@@ -73,13 +73,13 @@
try
{
ServerLocator locator = createFactory(isNetty);
+ locator.setClientFailureCheckPeriod(pingPeriod);
+ locator.setRetryInterval(500);
+ locator.setRetryIntervalMultiplier(1d);
+ locator.setReconnectAttempts(-1);
+ locator.setConfirmationWindowSize(1024 * 1024);
ClientSessionFactory factory = locator.createSessionFactory();
- factory.getServerLocator().setClientFailureCheckPeriod(pingPeriod); // Using a
smaller timeout
- factory.getServerLocator().setRetryInterval(500);
- factory.getServerLocator().setRetryIntervalMultiplier(1d);
- factory.getServerLocator().setReconnectAttempts(-1);
- factory.getServerLocator().setConfirmationWindowSize(1024 * 1024);
session = (ClientSessionInternal)factory.createSession();
Show replies by date