]
Manik Surtani commented on ISPN-1466:
-------------------------------------
Could I bug you to rewrite this test as an Infinispan unit test, in the Hot Rod client
module? It will make it much easier for us to debug and fix.
Async configuration tag affects communication between cache and
HotRod client
-----------------------------------------------------------------------------
Key: ISPN-1466
URL:
https://issues.jboss.org/browse/ISPN-1466
Project: Infinispan
Issue Type: Bug
Affects Versions: 5.1.0.ALPHA1, 5.1.0.BETA1
Reporter: Martin Gencur
Assignee: Manik Surtani
Fix For: 5.2.0.FINAL
When using a REPL (replicated) cache with configuration tag <async
useReplQueue="true" replQueueMaxElements="3"
replQueueInterval="1000" />, HotRod client cannot see a cache entry which was
just stored into a cache. The entry is visible not before the replication queue is flushed
(either because of MaxElements limit or QueueInterval). I'll attach a testcase but
here's a test snippet that fails at first assert:
{code}
@Test
public void testQueueSize() throws Exception {
RemoteCache<String, String> asyncCache1 = rcm1.getCache(asyncCacheSize);
RemoteCache<String, String> asyncCache2 = rcm2.getCache(asyncCacheSize);
asyncCache1.clear();
asyncCache1.put("k1", "v1");
assertTrue(null != asyncCache1.get("k1"));
assertTrue(null == asyncCache2.get("k1"));
asyncCache1.put("k2", "v2");
//k3 fills up the queue -> flush
asyncCache1.put("k3", "v3");
Thread.sleep(1000); //wait for the queue to be flushed
assertTrue(null != asyncCache1.get("k1"));
assertTrue(null != asyncCache2.get("k1"));
}
{code}
IMO when I have cache A and B in a cluster and the cache entry is stored into the cache
A, it should be visible at A and not in B. After flushing the queue it should be visible
also at B.
Here's the test:
https://svn.devel.redhat.com/repos/jboss-qa/edg/infinispan-functional-tes...
(to run it, one has to install infinispan-arquillian-container into local maven
repository, and run "mvn clean verify -Dnode0.ispnhome=${server1.home}
-Dnode1.ispnhome=${server2.home}", e.g. mvn clean verify
-Dnode0.ispnhome=/home/mgencur/Java/infinispan/infinispan-5.1.0.BETA1
-Dnode1.ispnhome=/home/mgencur/Java/infinispan/infinispan-5.1.0.BETA1-2
)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: