[JBoss JIRA] (ISPN-5019) After coordinator change, cache topologies should be installed in parallel
by Dan Berindei (JIRA)
Dan Berindei created ISPN-5019:
----------------------------------
Summary: After coordinator change, cache topologies should be installed in parallel
Key: ISPN-5019
URL: https://issues.jboss.org/browse/ISPN-5019
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 7.0.2.Final
Reporter: Dan Berindei
Priority: Critical
Fix For: 7.1.0.Alpha1
When the coordinator crashes, the new coordinator has to recover the cache topologies from all the nodes in the cluster and install updated topologies for all the caches. This is done on a single thread, and it can take a long time when there are a lot of caches.
We should be accelerate this by doing the topology installation on separate threads. However, we have to be careful with the async transport pool, because {{executeOnClusterAsync}} actually needs to spawn a new thread in the same pool.
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 1 month
[JBoss JIRA] (ISPN-3818) Cache the topology information sent to clients
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-3818?page=com.atlassian.jira.plugin.... ]
Dan Berindei resolved ISPN-3818.
--------------------------------
Fix Version/s: 7.0.0.Final
Resolution: Out of Date
No longer relevant since ISPN-3529 was fixed.
> Cache the topology information sent to clients
> ----------------------------------------------
>
> Key: ISPN-3818
> URL: https://issues.jboss.org/browse/ISPN-3818
> Project: Infinispan
> Issue Type: Enhancement
> Components: Remote Protocols
> Affects Versions: 6.0.0.Final
> Reporter: Radim Vansa
> Assignee: Galder Zamarreño
> Fix For: 7.0.0.Final
>
>
> Currently the server searches for denormalized hash ids for each client after topology change / new client joining.
> This is pretty expensive operation as it results in calling the hash algorithm several hundred thousand times, and this for each client.
> The result of this operation should be cached.
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 1 month
[JBoss JIRA] (ISPN-2538) Endless loop in TreeMap.remove at shutdown of query-enabled cache
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-2538?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-2538:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1167874|https://bugzilla.redhat.com/show_bug.cgi?id=1167874] from NEW to MODIFIED
> Endless loop in TreeMap.remove at shutdown of query-enabled cache
> -----------------------------------------------------------------
>
> Key: ISPN-2538
> URL: https://issues.jboss.org/browse/ISPN-2538
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 5.2.0.Beta4
> Reporter: Marko Lukša
> Assignee: William Burns
> Fix For: 7.0.0.Beta2
>
>
> {code}
> "MSC service thread 1-6" prio=6 tid=0x000000000d5b9000 nid=0x10a0 runnable [0x000000000e45e000]
> java.lang.Thread.State: RUNNABLE
> at java.util.TreeMap.fixAfterDeletion(TreeMap.java:2215)
> at java.util.TreeMap.deleteEntry(TreeMap.java:2173)
> at java.util.TreeMap.remove(TreeMap.java:600)
> at org.infinispan.query.impl.LifecycleManager.cacheStopped(LifecycleManager.java:181)
> at org.infinispan.factories.ComponentRegistry.stop(ComponentRegistry.java:227)
> at org.infinispan.CacheImpl.stop(CacheImpl.java:540)
> at org.infinispan.CacheImpl.stop(CacheImpl.java:535)
> at org.infinispan.AbstractDelegatingCache.stop(AbstractDelegatingCache.java:348)
> at org.jboss.as.capedwarf.services.CacheLifecycleService.stop(CacheLifecycleService.java:94)
> at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:1911)
> at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:1874)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 1 month
[JBoss JIRA] (ISPN-4561) CacheManager.stop with indexing to Infinispan fails
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-4561?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-4561:
-----------------------------------------------
Sebastian Łaskawiec <slaskawi(a)redhat.com> changed the Status of [bug 1167874|https://bugzilla.redhat.com/show_bug.cgi?id=1167874] from NEW to MODIFIED
> 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}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 1 month
[JBoss JIRA] (ISPN-5016) Specify and document cache consistency guarantees
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5016?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5016:
-----------------------------------------------
Misha H. Ali <mhusnain(a)redhat.com> changed the Status of [bug 1167780|https://bugzilla.redhat.com/show_bug.cgi?id=1167780] from NEW to ASSIGNED
> Specify and document cache consistency guarantees
> -------------------------------------------------
>
> Key: ISPN-5016
> URL: https://issues.jboss.org/browse/ISPN-5016
> Project: Infinispan
> Issue Type: Task
> Components: Documentation-Core
> Affects Versions: 7.0.2.Final
> Reporter: Radim Vansa
> Assignee: Dan Berindei
> Priority: Critical
>
> We can't simply use the consistency model defined by Java Specification and broaden it for whole cache (maybe the expression "can't" is too strong, but we definitely don't want to do that in some cases).
> By consistency guarantees/model I mean mostly in which order are
> writes allowed to be observed: and we can't boil it down to simply
> causal, PRAM or any other consistency model as writes can be observed as non-atomic in Infinispan.
> Infinispan documentation is quite scarce about that, the only trace I've
> found is in Glossarry [2] "Infinispan has traditionally followed ACID
> principles as far as possible, however an eventually consistent mode
> embracing BASE is on the roadmap."
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
11 years, 1 month