Author: mircea.markus
Date: 2008-06-02 12:12:44 -0400 (Mon, 02 Jun 2008)
New Revision: 5927
Modified:
core/trunk/src/test/java/org/jboss/cache/optimistic/AsyncCacheTest.java
core/trunk/src/test/java/org/jboss/cache/util/internals/ReplicationListener.java
Log:
rolledback thread sleeps removals - new view propagation does not necesarily mean that
state transfer is finished
Modified: core/trunk/src/test/java/org/jboss/cache/optimistic/AsyncCacheTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/optimistic/AsyncCacheTest.java 2008-06-02
15:20:57 UTC (rev 5926)
+++ core/trunk/src/test/java/org/jboss/cache/optimistic/AsyncCacheTest.java 2008-06-02
16:12:44 UTC (rev 5927)
@@ -9,7 +9,6 @@
import org.jboss.cache.config.Configuration;
import org.jboss.cache.loader.SamplePojo;
import org.jboss.cache.util.TestingUtil;
-import org.jboss.cache.util.internals.ReplicationListener;
import org.jboss.cache.transaction.TransactionSetup;
import static org.testng.AssertJUnit.*;
import org.testng.annotations.AfterMethod;
@@ -23,14 +22,12 @@
public class AsyncCacheTest extends AbstractOptimisticTestCase
{
private CacheSPI<Object, Object> cache, cache2;
- ReplicationListener replListener2;
@BeforeMethod(alwaysRun = true)
public void setUp() throws Exception
{
cache = createReplicatedCache(Configuration.CacheMode.REPL_ASYNC);
cache2 = createReplicatedCache(Configuration.CacheMode.REPL_ASYNC);
- replListener2 = new ReplicationListener(cache2);
}
@AfterMethod(alwaysRun = true)
@@ -66,13 +63,11 @@
SamplePojo pojo = new SamplePojo(21, "test");
- replListener2.expectAny();
cache.put("/one/two", "key1", pojo);
//GlobalTransaction globalTransaction = cache.getCurrentTransaction(tx);
assertNotNull(mgr.getTransaction());
mgr.commit();
- replListener2.waitForReplicationToOccur(1000);
assertNull(mgr.getTransaction());
@@ -84,6 +79,8 @@
assertTrue(cache.exists(Fqn.fromString("/one")));
assertEquals(pojo, cache.get(Fqn.fromString("/one/two"),
"key1"));
+ // allow changes to replicate since this is async
+ TestingUtil.sleepThread((long) 1000);
assertEquals(0, cache2.getTransactionTable().getNumGlobalTransactions());
assertEquals(0, cache2.getTransactionTable().getNumLocalTransactions());
@@ -109,12 +106,10 @@
SamplePojo pojo = new SamplePojo(21, "test");
- replListener2.expectAny();
cache.put("/one/two", "key1", pojo);
assertNotNull(mgr.getTransaction());
mgr.commit();
- replListener2.waitForReplicationToOccur(1000);
assertNull(mgr.getTransaction());
@@ -126,7 +121,9 @@
assertTrue(cache.exists(Fqn.fromString("/one")));
assertEquals(pojo, cache.get(Fqn.fromString("/one/two"),
"key1"));
-
+ // let the async calls complete
+ TestingUtil.sleepThread((long) 1000);
+
assertEquals(0, cache2.getTransactionTable().getNumGlobalTransactions());
assertEquals(0, cache2.getTransactionTable().getNumLocalTransactions());
Modified:
core/trunk/src/test/java/org/jboss/cache/util/internals/ReplicationListener.java
===================================================================
---
core/trunk/src/test/java/org/jboss/cache/util/internals/ReplicationListener.java 2008-06-02
15:20:57 UTC (rev 5926)
+++
core/trunk/src/test/java/org/jboss/cache/util/internals/ReplicationListener.java 2008-06-02
16:12:44 UTC (rev 5927)
@@ -119,6 +119,7 @@
}
finally
{
+ System.out.println("Processed command: " + realOne);
Iterator<Class<? extends ReplicableCommand>> it =
expectedCommands.iterator();
while (it.hasNext())
{
@@ -209,7 +210,9 @@
*/
public void waitForReplicationToOccur(long timeoutMillis)
{
+ System.out.println("enter...
ReplicationListener.waitForReplicationToOccur");
waitForReplicationToOccur(timeoutMillis, TimeUnit.MILLISECONDS);
+ System.out.println("exit...
ReplicationListener.waitForReplicationToOccur");
}
/**
Show replies by date