[hornetq-commits] JBoss hornetq SVN: r12178 - in trunk: tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Feb 23 04:40:38 EST 2012
Author: borges
Date: 2012-02-23 04:40:37 -0500 (Thu, 23 Feb 2012)
New Revision: 12178
Modified:
trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java
trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncJournalTest.java
trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncLargeMessageTest.java
trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/FailoverTestBase.java
Log:
HORNETQ-720 Fix test by addressing synchronization in tested condition
Modified: trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java
===================================================================
--- trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java 2012-02-23 09:40:07 UTC (rev 12177)
+++ trunk/hornetq-core/src/test/java/org/hornetq/tests/util/UnitTestCase.java 2012-02-23 09:40:37 UTC (rev 12178)
@@ -57,6 +57,7 @@
import org.hornetq.api.core.TransportConfiguration;
import org.hornetq.api.core.client.ClientConsumer;
import org.hornetq.api.core.client.ClientMessage;
+import org.hornetq.api.core.client.ClientProducer;
import org.hornetq.api.core.client.ClientSession;
import org.hornetq.api.core.client.ClientSessionFactory;
import org.hornetq.api.core.client.HornetQClient;
@@ -136,6 +137,7 @@
private final Collection<ClientSessionFactory> sessionFactories = new ArrayList<ClientSessionFactory>();
private final Collection<ClientSession> clientSessions = new HashSet<ClientSession>();
private final Collection<ClientConsumer> clientConsumers = new HashSet<ClientConsumer>();
+ private final Collection<ClientProducer> clientProducers = new HashSet<ClientProducer>();
private final Collection<HornetQComponent> otherComponents = new HashSet<HornetQComponent>();
private boolean checkThread = true;
@@ -947,6 +949,7 @@
try
{
assertAllClientConsumersAreClosed();
+ assertAllClientProducersAreClosed();
assertAllClientSessionsAreClosed();
}
finally
@@ -1087,6 +1090,18 @@
}
}
+ private void assertAllClientProducersAreClosed()
+ {
+ synchronized (clientProducers)
+ {
+ for (ClientProducer p : clientProducers)
+ {
+ assertTrue(p + " should be closed", p.isClosed());
+ }
+ clientProducers.clear();
+ }
+ }
+
/**
*
*/
@@ -1140,10 +1155,7 @@
return failedThread;
}
- /**
- *
- */
- protected void cleanupPools()
+ private void cleanupPools()
{
OperationContextImpl.clearContext();
@@ -1589,6 +1601,18 @@
return consumer;
}
+ protected final ClientProducer addClientProducer(ClientProducer consumer)
+ {
+ if (consumer != null)
+ {
+ synchronized (clientProducers)
+ {
+ clientProducers.add(consumer);
+ }
+ }
+ return consumer;
+ }
+
protected final void addHornetQComponent(HornetQComponent component)
{
if (component != null)
Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncJournalTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncJournalTest.java 2012-02-23 09:40:07 UTC (rev 12177)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncJournalTest.java 2012-02-23 09:40:37 UTC (rev 12178)
@@ -25,7 +25,7 @@
private static final int BACKUP_WAIT_TIME = 20;
private ServerLocatorInternal locator;
protected ClientSessionFactoryInternal sessionFactory;
- private ClientSession session;
+ protected ClientSession session;
private ClientProducer producer;
private BackupSyncDelay syncDelay;
protected int n_msgs = 20;
@@ -171,9 +171,11 @@
protected void createProducerSendSomeMessages() throws HornetQException, Exception
{
- session = sessionFactory.createSession(true, true);
+ session = addClientSession(sessionFactory.createSession(true, true));
session.createQueue(FailoverTestBase.ADDRESS, FailoverTestBase.ADDRESS, null, true);
- producer = session.createProducer(FailoverTestBase.ADDRESS);
+ if (producer != null)
+ producer.close();
+ producer = addClientProducer(session.createProducer(FailoverTestBase.ADDRESS));
sendMessages(session, producer, n_msgs);
session.commit();
}
@@ -181,7 +183,7 @@
protected void receiveMsgsInRange(int start, int end) throws HornetQException
{
session.start();
- ClientConsumer consumer = session.createConsumer(FailoverTestBase.ADDRESS);
+ ClientConsumer consumer = addClientConsumer(session.createConsumer(FailoverTestBase.ADDRESS));
receiveMessages(consumer, start, end, true);
consumer.close();
session.commit();
@@ -225,16 +227,6 @@
}
@Override
- protected void tearDown() throws Exception
- {
- if (session != null)
- session.close();
- if (producer != null)
- producer.close();
- super.tearDown();
- }
-
- @Override
protected void createConfigs() throws Exception
{
createReplicatedConfigs();
Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncLargeMessageTest.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncLargeMessageTest.java 2012-02-23 09:40:07 UTC (rev 12177)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/BackupSyncLargeMessageTest.java 2012-02-23 09:40:37 UTC (rev 12178)
@@ -52,7 +52,12 @@
createProducerSendSomeMessages();
startBackupFinishSyncing();
receiveMsgsInRange(0, n_msgs / 2);
- backupServer.stop();
+ int j = 0;
+ while (getAllMessageFileIds(dir).size() != n_msgs / 2 && j < 20)
+ {
+ Thread.sleep(50);
+ j++;
+ }
assertEquals("we really ought to delete these after delivery", n_msgs / 2, getAllMessageFileIds(dir).size());
}
Modified: trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/FailoverTestBase.java
===================================================================
--- trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/FailoverTestBase.java 2012-02-23 09:40:07 UTC (rev 12177)
+++ trunk/tests/integration-tests/src/test/java/org/hornetq/tests/integration/cluster/failover/FailoverTestBase.java 2012-02-23 09:40:37 UTC (rev 12178)
@@ -268,13 +268,13 @@
protected ClientSessionFactoryInternal createSessionFactoryAndWaitForTopology(ServerLocator locator, int topologyMembers)
throws Exception
{
- ClientSessionFactoryInternal sf;
CountDownLatch countDownLatch = new CountDownLatch(topologyMembers);
locator.addClusterTopologyListener(new LatchClusterTopologyListener(countDownLatch));
- sf = (ClientSessionFactoryInternal) locator.createSessionFactory();
+ ClientSessionFactoryInternal sf = (ClientSessionFactoryInternal)locator.createSessionFactory();
addSessionFactory(sf);
+
assertTrue("topology members expected " + topologyMembers, countDownLatch.await(5, TimeUnit.SECONDS));
return sf;
}
More information about the hornetq-commits
mailing list