[JBoss JIRA] (ISPN-6355) Server stop doesn't respect cache dependencies
by Gustavo Fernandes (Jira)
[ https://issues.jboss.org/browse/ISPN-6355?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes resolved ISPN-6355.
-------------------------------------
Resolution: Duplicate Issue
> Server stop doesn't respect cache dependencies
> ----------------------------------------------
>
> Key: ISPN-6355
> URL: https://issues.jboss.org/browse/ISPN-6355
> Project: Infinispan
> Issue Type: Bug
> Components: Server
> Reporter: Dan Berindei
> Priority: Major
>
> Individual caches are exposed as WildFly services, and the server stops them without considering cache dependencies defined in {{DefaultCacheManager}}. This means the infinispan-lucene-directory caches can stop before the indexed caches that use them:
> {noformat}
> 2016-03-09 18:10:41,724 WARN [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000004: Failure during stop of service jboss.datagrid-infinispan.clustered.repltestcache: org.infinispan.IllegalLifecycleStateException: ISPN000323: Cache 'LuceneIndexesMetadata' 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:97)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:79)
> at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:85)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:113)
> at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:85)
> at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:43)
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:335)
> at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:411)
> at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:443)
> at org.infinispan.lucene.impl.FileListOperations.getFileList(FileListOperations.java:162)
> at org.infinispan.lucene.impl.FileListOperations.listFilenames(FileListOperations.java:105)
> at org.infinispan.lucene.impl.DirectoryImplementor.list(DirectoryImplementor.java:60)
> at org.infinispan.lucene.impl.DirectoryLucene.listAll(DirectoryLucene.java:128)
> at org.apache.lucene.store.FilterDirectory.listAll(FilterDirectory.java:57)
> at org.apache.lucene.index.IndexFileDeleter.refresh(IndexFileDeleter.java:426)
> at org.apache.lucene.index.IndexWriter.rollbackInternalNoCommit(IndexWriter.java:2099)
> at org.apache.lucene.index.IndexWriter.rollbackInternal(IndexWriter.java:2041)
> at org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:1083)
> at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1125)
> at org.hibernate.search.backend.impl.lucene.IndexWriterHolder.closeIndexWriter(IndexWriterHolder.java:169)
> at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.closeIndexWriter(AbstractWorkspaceImpl.java:108)
> at org.hibernate.search.backend.impl.lucene.AbstractWorkspaceImpl.shutDownNow(AbstractWorkspaceImpl.java:103)
> at org.hibernate.search.backend.impl.lucene.LuceneBackendResources.shutdown(LuceneBackendResources.java:115)
> at org.hibernate.search.backend.impl.lucene.LuceneBackendQueueProcessor.close(LuceneBackendQueueProcessor.java:70)
> at org.infinispan.query.indexmanager.LocalIndexingBackend.flushAndClose(LocalIndexingBackend.java:48)
> at org.infinispan.query.indexmanager.ClusteredSwitchingBackend.closeBackend(ClusteredSwitchingBackend.java:227)
> at org.infinispan.query.indexmanager.ClusteredSwitchingBackend.shutdown(ClusteredSwitchingBackend.java:216)
> at org.infinispan.query.indexmanager.InfinispanBackendQueueProcessor.close(InfinispanBackendQueueProcessor.java:79)
> at org.hibernate.search.indexes.spi.DirectoryBasedIndexManager.destroy(DirectoryBasedIndexManager.java:78)
> at org.hibernate.search.indexes.impl.IndexManagerHolder.stop(IndexManagerHolder.java:197)
> at org.hibernate.search.engine.impl.ImmutableSearchFactory.close(ImmutableSearchFactory.java:230)
> at org.hibernate.search.engine.impl.MutableSearchFactory.close(MutableSearchFactory.java:137)
> at org.infinispan.query.impl.LifecycleManager.cacheStopping(LifecycleManager.java:338)
> at org.infinispan.factories.ComponentRegistry.stop(ComponentRegistry.java:257)
> at org.infinispan.cache.impl.CacheImpl.stop(CacheImpl.java:869)
> at org.infinispan.cache.impl.CacheImpl.stop(CacheImpl.java:864)
> at org.infinispan.server.infinispan.SecurityActions$6.run(SecurityActions.java:142)
> at org.infinispan.server.infinispan.SecurityActions$6.run(SecurityActions.java:139)
> at org.infinispan.security.Security.doPrivileged(Security.java:76)
> at org.infinispan.server.infinispan.SecurityActions.doPrivileged(SecurityActions.java:63)
> at org.infinispan.server.infinispan.SecurityActions.stopCache(SecurityActions.java:146)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.stop(CacheService.java:103)
> at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:2056)
> at org.jboss.msc.service.ServiceControllerImpl$StopTask.run(ServiceControllerImpl.java:2017)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10398) Docs: Fix CLI Attribute
by Donald Naro (Jira)
[ https://issues.jboss.org/browse/ISPN-10398?page=com.atlassian.jira.plugin... ]
Donald Naro updated ISPN-10398:
-------------------------------
Component/s: Documentation-Core
Affects Version/s: 9.4.15.Final
10.0.0.Beta3
> Docs: Fix CLI Attribute
> -----------------------
>
> Key: ISPN-10398
> URL: https://issues.jboss.org/browse/ISPN-10398
> Project: Infinispan
> Issue Type: Enhancement
> Components: Documentation-Core
> Affects Versions: 10.0.0.Beta3, 9.4.15.Final
> Reporter: Donald Naro
> Assignee: Donald Naro
> Priority: Major
>
> {brandcli} is not correct for community.
> Community {brandcli} resolves to ispn-cli
> Product {brandcli} resolves to cli.sh
> Need to update CLI examples that use this variable.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10398) Docs: Fix CLI Attribute
by Donald Naro (Jira)
Donald Naro created ISPN-10398:
----------------------------------
Summary: Docs: Fix CLI Attribute
Key: ISPN-10398
URL: https://issues.jboss.org/browse/ISPN-10398
Project: Infinispan
Issue Type: Enhancement
Reporter: Donald Naro
Assignee: Donald Naro
{brandcli} is not correct for community.
Community {brandcli} resolves to ispn-cli
Product {brandcli} resolves to cli.sh
Need to update CLI examples that use this variable.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10397) CacheStoreFactoryRegistry incorrect synchronization
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-10397?page=com.atlassian.jira.plugin... ]
Dan Berindei updated ISPN-10397:
--------------------------------
Description:
Starting multiple caches (configured with cache stores) simultaneously results in threading issues, which results in the failed startup of the cache (for example, [1]).
It seems that org.infinispan.persistence.factory.CacheStoreFactoryRegistry does not properly synchronize access to its "factories" member. It uses a synchronized collection, but that synchronization does not include the iteration which two methods in this class use.
{noformat}
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
at java.util.ArrayList$Itr.next(ArrayList.java:859)
at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
{noformat}
Configuring caches to start lazily seems to be a workaround.
{noformat}
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: org.jboss.msc.service.StartException in service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1978)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)
at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:878)
at org.infinispan.factories.AbstractComponentRegistry.invokePrioritizedMethods(AbstractComponentRegistry.java:643)
at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:630)
at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:549)
at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:232)
at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:891)
at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:411)
at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:676)
at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:620)
at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:506)
at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:492)
at org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:150)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:136)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:133)
at org.infinispan.security.Security.doPrivileged(Security.java:76)
at org.infinispan.server.infinispan.SecurityActions.doPrivileged(SecurityActions.java:69)
at org.infinispan.server.infinispan.SecurityActions.startCache(SecurityActions.java:141)
at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:91)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
... 3 more
Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
... 23 more
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
at java.util.ArrayList$Itr.next(ArrayList.java:859)
at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
... 28 more
{noformat}
was:
Starting multiple caches (configured with cache stores) simultaneously results in threading issues, which results in the failed startup of the cache (for example, [1]).
It seems that org.infinispan.persistence.factory.CacheStoreFactoryRegistry does not properly synchronize access to its "factories" member. It uses a synchronized collection, but that synchronization does not include the iteration which two methods in this class use.
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
at java.util.ArrayList$Itr.next(ArrayList.java:859)
at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
Configuring caches to start lazily seems to be a workaround.
[1]
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: org.jboss.msc.service.StartException in service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1978)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)
at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:878)
at org.infinispan.factories.AbstractComponentRegistry.invokePrioritizedMethods(AbstractComponentRegistry.java:643)
at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:630)
at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:549)
at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:232)
at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:891)
at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:411)
at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:676)
at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:620)
at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:506)
at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:492)
at org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:150)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:136)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:133)
at org.infinispan.security.Security.doPrivileged(Security.java:76)
at org.infinispan.server.infinispan.SecurityActions.doPrivileged(SecurityActions.java:69)
at org.infinispan.server.infinispan.SecurityActions.startCache(SecurityActions.java:141)
at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:91)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
... 3 more
Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
... 23 more
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
at java.util.ArrayList$Itr.next(ArrayList.java:859)
at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
... 28 more
> CacheStoreFactoryRegistry incorrect synchronization
> ---------------------------------------------------
>
> Key: ISPN-10397
> URL: https://issues.jboss.org/browse/ISPN-10397
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 10.0.0.Beta3, 9.4.15.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.Beta4, 9.4.16.Final
>
>
> Starting multiple caches (configured with cache stores) simultaneously results in threading issues, which results in the failed startup of the cache (for example, [1]).
> It seems that org.infinispan.persistence.factory.CacheStoreFactoryRegistry does not properly synchronize access to its "factories" member. It uses a synchronized collection, but that synchronization does not include the iteration which two methods in this class use.
> {noformat}
> Caused by: java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
> at java.util.ArrayList$Itr.next(ArrayList.java:859)
> at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
> {noformat}
> Configuring caches to start lazily seems to be a workaround.
> {noformat}
> ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: org.jboss.msc.service.StartException in service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1978)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:878)
> at org.infinispan.factories.AbstractComponentRegistry.invokePrioritizedMethods(AbstractComponentRegistry.java:643)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:630)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:549)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:232)
> at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:891)
> at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:411)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:676)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:620)
> at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:506)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:492)
> at org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:150)
> at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:136)
> at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:133)
> at org.infinispan.security.Security.doPrivileged(Security.java:76)
> at org.infinispan.server.infinispan.SecurityActions.doPrivileged(SecurityActions.java:69)
> at org.infinispan.server.infinispan.SecurityActions.startCache(SecurityActions.java:141)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:91)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
> ... 3 more
> Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:199)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
> ... 23 more
> Caused by: java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
> at java.util.ArrayList$Itr.next(ArrayList.java:859)
> at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
> ... 28 more
> {noformat}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10397) CacheStoreFactoryRegistry incorrect synchronization
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-10397?page=com.atlassian.jira.plugin... ]
Dan Berindei updated ISPN-10397:
--------------------------------
Status: Open (was: New)
> CacheStoreFactoryRegistry incorrect synchronization
> ---------------------------------------------------
>
> Key: ISPN-10397
> URL: https://issues.jboss.org/browse/ISPN-10397
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 10.0.0.Beta3, 9.4.15.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Major
> Fix For: 10.0.0.Beta4, 9.4.16.Final
>
>
> Starting multiple caches (configured with cache stores) simultaneously results in threading issues, which results in the failed startup of the cache (for example, [1]).
> It seems that org.infinispan.persistence.factory.CacheStoreFactoryRegistry does not properly synchronize access to its "factories" member. It uses a synchronized collection, but that synchronization does not include the iteration which two methods in this class use.
> Caused by: java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
> at java.util.ArrayList$Itr.next(ArrayList.java:859)
> at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
> Configuring caches to start lazily seems to be a workaround.
> [1]
> ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: org.jboss.msc.service.StartException in service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1978)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)
> at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:878)
> at org.infinispan.factories.AbstractComponentRegistry.invokePrioritizedMethods(AbstractComponentRegistry.java:643)
> at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:630)
> at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:549)
> at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:232)
> at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:891)
> at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:411)
> at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:676)
> at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:620)
> at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:506)
> at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:492)
> at org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:150)
> at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:136)
> at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:133)
> at org.infinispan.security.Security.doPrivileged(Security.java:76)
> at org.infinispan.server.infinispan.SecurityActions.doPrivileged(SecurityActions.java:69)
> at org.infinispan.server.infinispan.SecurityActions.startCache(SecurityActions.java:141)
> at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:91)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
> ... 3 more
> Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:199)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
> ... 23 more
> Caused by: java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
> at java.util.ArrayList$Itr.next(ArrayList.java:859)
> at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
> at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
> ... 28 more
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months
[JBoss JIRA] (ISPN-10397) CacheStoreFactoryRegistry incorrect synchronization
by Dan Berindei (Jira)
Dan Berindei created ISPN-10397:
-----------------------------------
Summary: CacheStoreFactoryRegistry incorrect synchronization
Key: ISPN-10397
URL: https://issues.jboss.org/browse/ISPN-10397
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.4.15.Final, 10.0.0.Beta3
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 10.0.0.Beta4, 9.4.16.Final
Starting multiple caches (configured with cache stores) simultaneously results in threading issues, which results in the failed startup of the cache (for example, [1]).
It seems that org.infinispan.persistence.factory.CacheStoreFactoryRegistry does not properly synchronize access to its "factories" member. It uses a synchronized collection, but that synchronization does not include the iteration which two methods in this class use.
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
at java.util.ArrayList$Itr.next(ArrayList.java:859)
at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
Configuring caches to start lazily seems to be a workaround.
[1]
ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: org.jboss.msc.service.StartException in service jboss.datagrid-infinispan.clustered.SubscriptionIndexesCache: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1978)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:172)
at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:878)
at org.infinispan.factories.AbstractComponentRegistry.invokePrioritizedMethods(AbstractComponentRegistry.java:643)
at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:630)
at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:549)
at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:232)
at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:891)
at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:411)
at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:676)
at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:620)
at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:506)
at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:492)
at org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:150)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:136)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:133)
at org.infinispan.security.Security.doPrivileged(Security.java:76)
at org.infinispan.server.infinispan.SecurityActions.doPrivileged(SecurityActions.java:69)
at org.infinispan.server.infinispan.SecurityActions.startCache(SecurityActions.java:141)
at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:91)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:2032)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1955)
... 3 more
Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
... 23 more
Caused by: java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909)
at java.util.ArrayList$Itr.next(ArrayList.java:859)
at org.infinispan.persistence.factory.CacheStoreFactoryRegistry.createInstance(CacheStoreFactoryRegistry.java:38)
at org.infinispan.persistence.manager.PersistenceManagerImpl.createLoadersAndWriters(PersistenceManagerImpl.java:661)
at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:152)
... 28 more
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 9 months