[JBoss JIRA] (ISPN-3638) Upgrade to JGroups 3.4.0.Final
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-3638?page=com.atlassian.jira.plugin.... ]
Dan Berindei resolved ISPN-3638.
--------------------------------
Fix Version/s: 6.0.0.Final
(was: 7.0.0.Beta2)
Resolution: Out of Date
Upgraded directly to 3.4.1.Final with ISPN-3696
> Upgrade to JGroups 3.4.0.Final
> ------------------------------
>
> Key: ISPN-3638
> URL: https://issues.jboss.org/browse/ISPN-3638
> Project: Infinispan
> Issue Type: Component Upgrade
> Security Level: Public(Everyone can see)
> Components: Core
> Affects Versions: 6.0.0.CR1
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 6.0.0.Final
>
>
> The fix for JGRP-1675 should be useful when we run out of OOB threads (REPLENISH messages are now flagged as INTERNAL).
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 7 months
[JBoss JIRA] (ISPN-4561) CacheManager.stop with indexing to Infinispan fails
by Sanne Grinovero (JIRA)
[ https://issues.jboss.org/browse/ISPN-4561?page=com.atlassian.jira.plugin.... ]
Sanne Grinovero commented on ISPN-4561:
---------------------------------------
Proposed a solution: http://lists.jboss.org/pipermail/infinispan-dev/2014-August/015293.html
> CacheManager.stop with indexing to Infinispan fails
> ---------------------------------------------------
>
> Key: ISPN-4561
> URL: https://issues.jboss.org/browse/ISPN-4561
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Embedded Querying, Remote Querying
> Affects Versions: 7.0.0.Alpha5
> Reporter: Radim Vansa
> Assignee: Sanne Grinovero
>
> 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.2.6#6264)
11 years, 7 months
[JBoss JIRA] (ISPN-4569) Inserting into cache with indexing fails for XA transactions
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-4569?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration updated ISPN-4569:
------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1130493
> Inserting into cache with indexing fails for XA transactions
> ------------------------------------------------------------
>
> Key: ISPN-4569
> URL: https://issues.jboss.org/browse/ISPN-4569
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Embedded Querying, Transactions
> Affects Versions: 7.0.0.Alpha5
> Reporter: Radim Vansa
> Assignee: Dan Berindei
> Fix For: 7.0.0.Beta1
>
>
> If I setup XA transactions in {{ClusteredQueryDslConditionsTest}} using
> {code}
> cacheCfg.transaction().transactionMode(TransactionMode.TRANSACTIONAL).useSynchronization(false);
> {code}
> the test fails. The reason is in deadlock while updating {{ScopedKey}} in __cluster_registry_cache__ : It seems that on originator we create transaction with modified inserted key and the {{ScopedKey}} for inserted class, and send it in two prepare commands to the other node. In the {{ScopedKey}}-prepare, the lock is acquired, but the regular prepare on the other node does not see it (it is not committed yet) and also tries to update this {{ScopedKey}} in __cluster_registry_cache__ . This fails with lock timeout, as the commit is waiting on the regular prepare to finish.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 7 months
[JBoss JIRA] (ISPN-4569) Inserting into cache with indexing fails for XA transactions
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-4569?page=com.atlassian.jira.plugin.... ]
Dan Berindei commented on ISPN-4569:
------------------------------------
I guess it doesn't matter when the actual write to the index is done, but it caught my eye and I wanted to make sure it's not a problem.
It was actually the same with the cluster registry when it was transactional - writing to it just added a synchronization to the running XA transaction. And just like writing to the index, it wasn't at all clear that the cluster registry write was postponed until after the main cache tx had committed :)
> Inserting into cache with indexing fails for XA transactions
> ------------------------------------------------------------
>
> Key: ISPN-4569
> URL: https://issues.jboss.org/browse/ISPN-4569
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Embedded Querying, Transactions
> Affects Versions: 7.0.0.Alpha5
> Reporter: Radim Vansa
> Assignee: Dan Berindei
> Fix For: 7.0.0.Beta1
>
>
> If I setup XA transactions in {{ClusteredQueryDslConditionsTest}} using
> {code}
> cacheCfg.transaction().transactionMode(TransactionMode.TRANSACTIONAL).useSynchronization(false);
> {code}
> the test fails. The reason is in deadlock while updating {{ScopedKey}} in __cluster_registry_cache__ : It seems that on originator we create transaction with modified inserted key and the {{ScopedKey}} for inserted class, and send it in two prepare commands to the other node. In the {{ScopedKey}}-prepare, the lock is acquired, but the regular prepare on the other node does not see it (it is not committed yet) and also tries to update this {{ScopedKey}} in __cluster_registry_cache__ . This fails with lock timeout, as the commit is waiting on the regular prepare to finish.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 7 months
[JBoss JIRA] (ISPN-4637) HotRodServer allows registration of ClientListener which specifies non-existing 'converterFactoryName'
by Galder Zamarreño (JIRA)
[ https://issues.jboss.org/browse/ISPN-4637?page=com.atlassian.jira.plugin.... ]
Galder Zamarreño updated ISPN-4637:
-----------------------------------
Git Pull Request: https://github.com/infinispan/infinispan/pull/2794
> HotRodServer allows registration of ClientListener which specifies non-existing 'converterFactoryName'
> ------------------------------------------------------------------------------------------------------
>
> Key: ISPN-4637
> URL: https://issues.jboss.org/browse/ISPN-4637
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Server
> Affects Versions: 7.0.0.Beta1
> Environment: Mac OS X 10.9.4, Oracle HotSpot 1.7.0_67. Infinispan built from master.
> Reporter: Duncan Doyle
> Assignee: Galder Zamarreño
> Fix For: 7.0.0.Beta2
>
>
> The HotRodServer allows for the registration of custom ClientListeners that specify a non-existing 'converterFactoryName'. I.e., the ClientListenerRegistry.addClientListener method/function does not check whether the given 'converterFactoryName' exists on the server, and if it doesn't exist, it adds the ClientListener with a Null converter.
> The problem is that this gives unexpected results in the client. ISPN in this case seems to send back events that just contain the 'value' of the entry that was inserted/modified/removed. But the ClientListener probably expects a custom type: ClientCacheEntryCustomEvent<MyCustomType>
> So, eventually what happens is funky CCEs because the eventData returned in the event (in this case the value of the entry) is not of the same class as MyCustomType.
> In my opinion, HotRodServer should return an error when one tries to register a listener which specifies a non-registered converterFactory.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
11 years, 7 months