[infinispan-issues] [JBoss JIRA] (ISPN-1466) Async configuration tag affects communication between cache and HotRod client

RH Bugzilla Integration (JIRA) jira-events at lists.jboss.org
Fri Mar 16 14:23:50 EDT 2012


    [ https://issues.jboss.org/browse/ISPN-1466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12677374#comment-12677374 ] 

RH Bugzilla Integration commented on ISPN-1466:
-----------------------------------------------

JBoss JIRA Server <jira-update at redhat.com> made a comment on [bug 801519|https://bugzilla.redhat.com/show_bug.cgi?id=801519]

Martin Gencur <mgencur at redhat.com> made a comment on jira ISPN-1466

The test was indeed incorrect but using HotRod client in conjunction with REPL mode makes sense. The requests are then dispatched to the servers in a round-robin manner. (as described here: https://docs.jboss.org/author/display/ISPN/Java+Hot+Rod+client - Request Balancing).
                
> 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
>
> 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-tests/trunk/xml-configuration/clustered-cache
> (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: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list