That's a bug. We have tests that check stop/start/stop procedure:
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(a)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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache