]
Sebastian Łaskawiec closed ISPN-6368.
-------------------------------------
Race condition in InternalCacheRegistryImpl.registerInternalCache
-----------------------------------------------------------------
Key: ISPN-6368
URL:
https://issues.jboss.org/browse/ISPN-6368
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 8.1.0.Final, 8.2.0.Final
Reporter: Adrian Nistor
Assignee: Adrian Nistor
Fix For: 8.1.3.Final, 8.2.1.Final, 9.0.0.Alpha1, 9.0.0.Final
Access to internalCaches set can cause race conditions and errors related to duplicate
cache definitions can be mistakenly reported.
{code}
17:51:40,668 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001:
Failed to start service jboss.datagrid-infinispan.clustered.disttestcache:
org.jboss.msc.service.StartException in service
jboss.datagrid-infinispan.clustered.disttestcache: Failed to start service
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)
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)
Caused by: org.infinispan.commons.CacheConfigurationException: ISPN000358: A cache
configuration named ___query_known_classes already exists. This cannot be configured
externally by the user.
at
org.infinispan.registry.impl.InternalCacheRegistryImpl.registerInternalCache(InternalCacheRegistryImpl.java:56)
at
org.infinispan.registry.impl.InternalCacheRegistryImpl.registerInternalCache(InternalCacheRegistryImpl.java:49)
at
org.infinispan.query.backend.QueryKnownClasses.startInternalCache(QueryKnownClasses.java:219)
at org.infinispan.query.backend.QueryKnownClasses.start(QueryKnownClasses.java:119)
at org.infinispan.query.backend.QueryInterceptor.start(QueryInterceptor.java:129)
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)
at
org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:859)
at
org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:628)
at
org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:617)
at
org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:542)
at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:238)
at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:849)
at
org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:635)
at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:585)
at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:451)
at
org.infinispan.manager.impl.AbstractDelegatingEmbeddedCacheManager.getCache(AbstractDelegatingEmbeddedCacheManager.java:133)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:130)
at org.infinispan.server.infinispan.SecurityActions$5.run(SecurityActions.java:127)
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.startCache(SecurityActions.java:135)
at
org.jboss.as.clustering.infinispan.subsystem.CacheService.start(CacheService.java:86)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
... 3 more
{code}