[
https://issues.jboss.org/browse/ISPN-2232?page=com.atlassian.jira.plugin....
]
Galder Zamarreño commented on ISPN-2232:
----------------------------------------
The problem is to do with indexLocalOnly, when enabled, the unit test I created originally
fails with:
{code}java.lang.IllegalArgumentException: Indexing was not enabled on this cache. class
org.infinispan.query.backend.QueryInterceptor not found in registry{code}
The issue appears because when the cache is first started, both LocalQueryInterceptor and
QueryInterceptor are injected
(
https://raw.github.com/gist/3550914/a1763acd0b640f1d04d7c125073a0b06f3631...),
but when the cache is restarted, only LocalQueryInterceptor remains
(
https://raw.github.com/gist/3550900/e7b36fdebc50be577a026e913c6aa7a91133f...)
Cache::re-start doesn't setup CommandInitializer in
ComponentRegistry when used with Query
------------------------------------------------------------------------------------------
Key: ISPN-2232
URL:
https://issues.jboss.org/browse/ISPN-2232
Project: Infinispan
Issue Type: Bug
Components: Configuration, Querying
Affects Versions: 5.1.6.FINAL, 5.2.0.ALPHA2
Reporter: Ales Justin
Assignee: Galder Zamarreño
Fix For: 5.2.0.Alpha3, 5.2.0.Final
When re-starting existing stopped cache, NPE is thrown:
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;
}
--
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