[infinispan-issues] [JBoss JIRA] (ISPN-3630) SingleFileStore.start() often fails on File.mkdirs() during concurrent cache startup

Paul Ferraro (JIRA) jira-events at lists.jboss.org
Mon Oct 14 19:14:35 EDT 2013


    [ https://issues.jboss.org/browse/ISPN-3630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12814027#comment-12814027 ] 

Paul Ferraro commented on ISPN-3630:
------------------------------------

I meant, see ISPN-3629.
                
> SingleFileStore.start() often fails on File.mkdirs() during concurrent cache startup
> ------------------------------------------------------------------------------------
>
>                 Key: ISPN-3630
>                 URL: https://issues.jboss.org/browse/ISPN-3630
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Loaders and Stores
>    Affects Versions: 6.0.0.CR1
>            Reporter: Paul Ferraro
>            Assignee: Mircea Markus
>            Priority: Critical
>
> If multiple caches are started concurrently, SingleFileStore.start() often fails during File.mkdirs(). File.mkdirs() will fail if multiple threads attempt to create the same directories.  To improve concurrent reliability of concurrently started caches, this operation should be performed in a synchronized block.
> e.g.
> [0m[31m17:34:26,994 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 17) MSC000001: Failed to start service jboss.infinispan.web.repl: org.jboss.msc.service.StartException in service jboss.infinispan.web.repl: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
> 	at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:87)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
> 	at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
> 	at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
> 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:185)
> 	at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:869)
> 	at org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:638)
> 	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:627)
> 	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:530)
> 	at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:216)
> 	at org.infinispan.CacheImpl.start(CacheImpl.java:668)
> 	at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:539)
> 	at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:502)
> 	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:395)
> 	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:409)
> 	at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:103)
> 	at org.jboss.as.clustering.infinispan.DefaultCacheContainer.getCache(DefaultCacheContainer.java:94)
> 	at org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:78)
> 	at org.jboss.as.clustering.msc.AsynchronousService$1.run(AsynchronousService.java:82)
> 	... 4 more
> Caused by: org.infinispan.commons.CacheException: Unable to start cache loaders
> 	at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:154)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
> 	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]
> 	at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:183)
> 	... 18 more
> Caused by: org.infinispan.persistence.CacheLoaderException: org.infinispan.commons.CacheConfigurationException: ISPN000238: Directory /home/paul/wildfly/ejb/wildfly/testsuite/integration/clust/target/jbossas-clustering-SYNC-tcp-1/standalone/data/infinispan/web does not exist and cannot be created!
> 	at org.infinispan.persistence.file.SingleFileStore.start(SingleFileStore.java:118)
> 	at org.infinispan.persistence.manager.PersistenceManagerImpl.start(PersistenceManagerImpl.java:121)
> 	... 23 more
> Caused by: org.infinispan.commons.CacheConfigurationException: ISPN000238: Directory /home/paul/wildfly/ejb/wildfly/testsuite/integration/clust/target/jbossas-clustering-SYNC-tcp-1/standalone/data/infinispan/web does not exist and cannot be created!
> 	at org.infinispan.persistence.file.SingleFileStore.start(SingleFileStore.java:102)
> 	... 24 more

--
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


More information about the infinispan-issues mailing list