]
Galder Zamarreño updated ISPN-4561:
-----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
CacheManager.stop with indexing to Infinispan fails
---------------------------------------------------
Key: ISPN-4561
URL:
https://issues.jboss.org/browse/ISPN-4561
Project: Infinispan
Issue Type: Bug
Components: Embedded Querying, Remote Querying
Affects Versions: 6.0.2.Final, 7.0.0.Alpha5
Reporter: Radim Vansa
Assignee: Gustavo Fernandes
Fix For: 7.0.0.CR1, 7.0.0.Final
When I try to stop cache manager with cache that is configured like this:
{code}
<distributed-cache name="dist_lucene" owners="2"
segments="512">
<locking acquire-timeout="3000" concurrency-level="1000"
/>
<transaction mode="NON_DURABLE_XA"
locking="OPTIMISTIC"/>
<indexing index="LOCAL">
<property
name="default.directory_provider">infinispan</property>
<property
name="default.indexmanager">org.infinispan.query.indexmanager.InfinispanIndexManager</property>
<property
name="default.exclusive_index_use">true</property>
<property
name="default.reader.strategy">shared</property>
<property
name="hibernate.search.lucene_version">LUCENE_48</property>
</indexing>
</distributed-cache>
{code}
during stop, another cache (containing the locks) is accessed, but this can be already
stopped. Then, the cacheManager.stop() fails:
{code}
Caused by: java.lang.IllegalStateException: Cache 'LuceneIndexesLocking' is in
'TERMINATED' state and so it does not accept new invocations. Either restart it or
recreate the cache container.
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:92)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:74)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:75)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44)
at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333)
at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:392)
at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:398)
at
org.infinispan.lucene.readlocks.DistributedSegmentReadLocker.deleteOrReleaseReadLock(DistributedSegmentReadLocker.java:74)
at
org.infinispan.lucene.impl.InfinispanIndexInput.close(InfinispanIndexInput.java:89)
at org.apache.lucene.util.IOUtils.close(IOUtils.java:77)
at
org.apache.lucene.codecs.BlockTreeTermsReader.close(BlockTreeTermsReader.java:242)
at org.apache.lucene.util.IOUtils.close(IOUtils.java:100)
at
org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader.close(PerFieldPostingsFormat.java:227)
at org.apache.lucene.util.IOUtils.close(IOUtils.java:77)
at
org.apache.lucene.index.SegmentCoreReaders.decRef(SegmentCoreReaders.java:178)
at org.apache.lucene.index.SegmentReader.doClose(SegmentReader.java:260)
at org.apache.lucene.index.IndexReader.decRef(IndexReader.java:243)
at
org.apache.lucene.index.StandardDirectoryReader.doClose(StandardDirectoryReader.java:362)
at org.apache.lucene.index.IndexReader.decRef(IndexReader.java:243)
at org.apache.lucene.index.IndexReader.close(IndexReader.java:479)
at
org.hibernate.search.indexes.impl.SharingBufferReaderProvider$ReaderUsagePair.close(SharingBufferReaderProvider.java:163)
at
org.hibernate.search.indexes.impl.SharingBufferReaderProvider.stop(SharingBufferReaderProvider.java:120)
at
org.hibernate.search.indexes.impl.DirectoryBasedIndexManager.destroy(DirectoryBasedIndexManager.java:74)
at
org.hibernate.search.indexes.impl.IndexManagerHolder.stop(IndexManagerHolder.java:197)
at
org.hibernate.search.impl.ImmutableSearchFactory.close(ImmutableSearchFactory.java:169)
at
org.hibernate.search.impl.MutableSearchFactory.close(MutableSearchFactory.java:127)
at
org.infinispan.query.impl.LifecycleManager.cacheStopped(LifecycleManager.java:278)
at org.infinispan.factories.ComponentRegistry.stop(ComponentRegistry.java:244)
at org.infinispan.cache.impl.CacheImpl.stop(CacheImpl.java:774)
at org.infinispan.cache.impl.CacheImpl.stop(CacheImpl.java:769)
at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:630)
... 4 more
Suppressed: java.lang.IllegalStateException: Cache 'LuceneIndexesLocking'
is in 'TERMINATED' state and so it does not accept new invocations. Either restart
it or recreate the cache container.
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:92)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:74)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:75)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44)
at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333)
at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:392)
at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:398)
at
org.infinispan.lucene.readlocks.DistributedSegmentReadLocker.deleteOrReleaseReadLock(DistributedSegmentReadLocker.java:74)
at
org.infinispan.lucene.impl.InfinispanIndexInput.close(InfinispanIndexInput.java:89)
at org.apache.lucene.util.IOUtils.close(IOUtils.java:77)
at
org.apache.lucene.codecs.lucene41.Lucene41PostingsReader.close(Lucene41PostingsReader.java:145)
... 29 more
Suppressed: java.lang.IllegalStateException: Cache
'LuceneIndexesLocking' is in 'TERMINATED' state and so it does not accept
new invocations. Either restart it or recreate the cache container.
... 40 more
Suppressed: java.lang.IllegalStateException: Cache 'LuceneIndexesLocking'
is in 'TERMINATED' state and so it does not accept new invocations. Either restart
it or recreate the cache container.
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:92)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:74)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:75)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44)
at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333)
at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:392)
at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:398)
at
org.infinispan.lucene.readlocks.DistributedSegmentReadLocker.deleteOrReleaseReadLock(DistributedSegmentReadLocker.java:74)
at
org.infinispan.lucene.impl.InfinispanIndexInput.close(InfinispanIndexInput.java:89)
at org.apache.lucene.util.IOUtils.close(IOUtils.java:77)
at
org.apache.lucene.codecs.compressing.CompressingStoredFieldsReader.close(CompressingStoredFieldsReader.java:181)
... 25 more
Suppressed: java.lang.IllegalStateException: Cache 'LuceneIndexesLocking'
is in 'TERMINATED' state and so it does not accept new invocations. Either restart
it or recreate the cache container.
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:92)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:74)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:75)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:44)
at
org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333)
at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:392)
at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:398)
at
org.infinispan.lucene.readlocks.DistributedSegmentReadLocker.deleteOrReleaseReadLock(DistributedSegmentReadLocker.java:74)
at
org.infinispan.lucene.impl.InfinispanIndexInput.close(InfinispanIndexInput.java:89)
at
org.apache.lucene.codecs.lucene42.Lucene42DocValuesProducer.close(Lucene42DocValuesProducer.java:489)
... 25 more
{code}