[infinispan-issues] [JBoss JIRA] (ISPN-3086) Infinite loop when creating more than two Distributed Cache nodes

Balazs Zsoldos (JIRA) jira-events at lists.jboss.org
Thu May 9 09:40:53 EDT 2013


     [ https://issues.jboss.org/browse/ISPN-3086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Balazs Zsoldos updated ISPN-3086:
---------------------------------

    Description: 
I created a very simple application based on https://docs.jboss.org/author/display/ISPN/Using+Infinispan+as+a+JCache+provider#UsingInfinispanasaJCacheprovider-ClusteringJCacheinstances

I changed the code to created distributed caches instead of replicated ones. It works until two nodes but if there are three nodes it starts an infinite loop.

*The modified XML contains:*

   <namedCache name="namedCache">
      <clustering mode="dist" />
   </namedCache>

*The modified java code contains:*

CacheManager cacheManager1 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");

CacheManager cacheManager2 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");

CacheManager cacheManager3 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");

*Symptom:*

The code waits on the third command while there is an infinite loop on a background thread. I guess the benefit of distribution would come with more than two nodes but I cannot test it due to the problem above.

Although I used infinispan via JCache I think this issue is not related to the JCache API but it comes from the infinispan core.

*BTW:* Distributed caches seem to me about 30% slower than replicated caches concerning to put and delete functions with two nodes. I guess the benefit would come out between the two topologies with more nodes.

  was:
I created a very simple application based on https://docs.jboss.org/author/display/ISPN/Using+Infinispan+as+a+JCache+provider#UsingInfinispanasaJCacheprovider-ClusteringJCacheinstances

I changed the code to created distributed caches instead of replicated ones. It works until two nodes but if there are three nodes it starts an infinite loop.

*The modified XML contains:*

   <namedCache name="namedCache">
      <clustering mode="dist" />
   </namedCache>

*The modified java code contains:*

CacheManager cacheManager1 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");

CacheManager cacheManager2 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");

CacheManager cacheManager3 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");

*Symptom:*

The code waits on the third command while there is an infinite loop on a background thread. I guess the benefit of distribution would come with more than two nodes but I cannot test it due to the problem above.

Although I used infinispan via JCache I think this issue is not related to the JCache API but it comes from the infinispan core.

*BTW:* Distributed caches seem to me about 30% slower than replicated caches concerning to put and delete functions with two nodes. I guess the 


    
> Infinite loop when creating more than two Distributed Cache nodes
> -----------------------------------------------------------------
>
>                 Key: ISPN-3086
>                 URL: https://issues.jboss.org/browse/ISPN-3086
>             Project: Infinispan
>          Issue Type: Bug
>          Components: JCache
>    Affects Versions: 5.3.0.Beta1
>            Reporter: Balazs Zsoldos
>            Assignee: Galder ZamarreƱo
>              Labels: cache, distribution
>             Fix For: 6.0.0.Final
>
>
> I created a very simple application based on https://docs.jboss.org/author/display/ISPN/Using+Infinispan+as+a+JCache+provider#UsingInfinispanasaJCacheprovider-ClusteringJCacheinstances
> I changed the code to created distributed caches instead of replicated ones. It works until two nodes but if there are three nodes it starts an infinite loop.
> *The modified XML contains:*
>    <namedCache name="namedCache">
>       <clustering mode="dist" />
>    </namedCache>
> *The modified java code contains:*
> CacheManager cacheManager1 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");
> CacheManager cacheManager2 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");
> CacheManager cacheManager3 = Caching.getCacheManager(new TestClassLoader(tccl), "infinispan-jcache-cluster.xml");
> *Symptom:*
> The code waits on the third command while there is an infinite loop on a background thread. I guess the benefit of distribution would come with more than two nodes but I cannot test it due to the problem above.
> Although I used infinispan via JCache I think this issue is not related to the JCache API but it comes from the infinispan core.
> *BTW:* Distributed caches seem to me about 30% slower than replicated caches concerning to put and delete functions with two nodes. I guess the benefit would come out between the two topologies with more nodes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the infinispan-issues mailing list