[infinispan-dev] getting stopped cache

Ales Justin ales.justin at gmail.com
Tue Aug 28 05:05:45 EDT 2012


https://issues.jboss.org/browse/ISPN-2232

Tnx.

> That's a bug. We have tests that check stop/start/stop procedure:
> https://github.com/infinispan/infinispan/blob/master/core/src/test/java/org/infinispan/jmx/CacheMBeanTest.java#L55
> 
> But not tests that check that procedure with the query module in.
> 
> Fill it in http://issues.jboss.org/browse/ISPN and we'll sort it out.
> 
> Cheers,
> 
> On Aug 27, 2012, at 11:15 PM, Ales Justin wrote:
> 
>> Uh, the workaround results in NPE:
>> 
>> 23:10:27,160 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] (http-/192.168.1.101:8080-2) Exception sending request initialized lifecycle event to listener instance of class org.jboss.capedwarf.appidentity.GAEListener: java.lang.NullPointerException
>> 	at org.infinispan.query.impl.LifecycleManager.cacheStarted(LifecycleManager.java:125)
>> 	at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:178) [infinispan-core-5.2.0.ALPHA2.jar:5.2.0.ALPHA2]
>> 	at org.infinispan.CacheImpl.start(CacheImpl.java:523) [infinispan-core-5.2.0.ALPHA2.jar:5.2.0.ALPHA2]
>> 	at org.infinispan.AbstractDelegatingCache.start(AbstractDelegatingCache.java:343) [infinispan-core-5.2.0.ALPHA2.jar:5.2.0.ALPHA2]
>> 	at org.jboss.capedwarf.common.infinispan.InfinispanUtils.checkCache(InfinispanUtils.java:72) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>> 	at org.jboss.capedwarf.common.infinispan.InfinispanUtils.getCache(InfinispanUtils.java:82) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>> 
>> This is the code I added:
>> 
>>   private static <K, V> Cache<K, V> checkCache(String cacheName) {
>>       final Cache<K, V> cache = cacheManager.getCache(cacheName, false);
>>       if (cache != null) {
>>           final ComponentStatus status = cache.getStatus();
>>           if (status != ComponentStatus.INITIALIZING && status != ComponentStatus.RUNNING) {
>>               cache.start();
>>           }
>>       }
>>       return cache;
>>   }
>> 
>> Any other idea?
>> 
>> -Ales
>> 
>> On Aug 27, 2012, at 10:51 PM, Ales Justin <ales.justin at gmail.com> wrote:
>> 
>>> OK, let me try this workaround.
>>> 
>>> But should Cache::stop also remove it or not?
>>> 
>>> If yes, I might dig deeper into finding the culprit,
>>> if not, then the workaround should do, I guess.
>>> 
>>> -Ales
>>> 
>>>> As a workaround, couldn't you check what the status of the cache is before using it? If it's stopped, you could call cache.start() again.
>>>> 
>>>> On Aug 25, 2012, at 3:44 PM, Ales Justin wrote:
>>>> 
>>>>> When running CapeDwarf tests these days I get this broken behavior:
>>>>> (using: Ispan 5.2.0.Alpha2)
>>>>> 
>>>>> On 1st test all works OK:
>>>>> * getting the X cache
>>>>> * passing it to SearchManager (from Ispan Query)
>>>>> * doing queries, etc
>>>>> * stopping the X cache on app (aka Arquillian test) undeploy
>>>>> 
>>>>> But when running 2nd app (more Arquillian tests) it breaks.
>>>>> 
>>>>> I'm again using X cache, via this lookup:
>>>>> (where toCacheName == X)
>>>>> 
>>>>>        final Cache<K, V> cache = cacheManager.getCache(toCacheName(config, appId), false);
>>>>>        if (cache != null)
>>>>>            return cache;
>>>>> 
>>>>> And I actually get some cache, where I would expect none.
>>>>> 
>>>>> Since this cache is not new, it's never run against Ispan Query's LifecycleManager,
>>>>> hence there is no QueryInterceptor in its component registry.
>>>>> 
>>>>> Which is where the app breaks: SearchManager requires QueryInterceptor in cache' component registry.
>>>>> 
>>>>> Shouldn't Cache::stop also remove the cache from EmbeddedCacheManager?
>>>>> btw: this used to work, dunno when it broke ...
>>>>> 
>>>>> Anyone else seeing something similar?
>>>>> 
>>>>> -Ales
>>>>> 
>>>>> ----------
>>>>> 
>>>>> 15:32:06,810 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] (http-/192.168.1.101:8080-3) Exception sending request initialized lifecycle event to listener instance of class org.jboss.capedwarf.appidentity.GAEListener: java.lang.IllegalArgumentException: Indexing was not enabled on this cache. class org.infinispan.query.backend.QueryInterceptor not found in registry
>>>>> 	at org.infinispan.query.impl.ComponentRegistryUtils.getComponent(ComponentRegistryUtils.java:40)
>>>>> 	at org.infinispan.query.SearchManagerImpl.<init>(SearchManagerImpl.java:57)
>>>>> 	at org.infinispan.query.Search.getSearchManager(Search.java:39)
>>>>> 	at org.jboss.capedwarf.datastore.AbstractDatastoreService.<init>(AbstractDatastoreService.java:61) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> 	at org.jboss.capedwarf.datastore.JBossDatastoreService.<init>(JBossDatastoreService.java:56) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>> 	at com.google.appengine.api.datastore.DatastoreServiceFactory.getDatastoreService(DatastoreServiceFactory.java) [appengine-api-1.0-sdk-1.7.0.jar:]
>>>>> 	at org.jboss.capedwarf.log.JBossLogService.requestStarted(JBossLogService.java:215) [capedwarf-log-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>> 
>> 
>> 
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> 
> --
> Galder Zamarreño
> Sr. Software Engineer
> Infinispan, JBoss Cache
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20120828/3714f6ff/attachment.html 


More information about the infinispan-dev mailing list