[
https://issues.jboss.org/browse/ISPN-4659?page=com.atlassian.jira.plugin....
]
Dan Berindei resolved ISPN-4659.
--------------------------------
Fix Version/s: 8.2.0.Final
(was: 9.0.0.Alpha1)
Resolution: Done
{{DefaultCacheManager}} wasn't stopping internal caches on {{stop()}}, but that was
fixed with ISPN-6277.
DefaultCacheManager.stop() is not removing the
GlobalComponentRegistry JMX domain
---------------------------------------------------------------------------------
Key: ISPN-4659
URL:
https://issues.jboss.org/browse/ISPN-4659
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 7.0.0.Beta1
Reporter: Alan Field
Labels: regression
Fix For: 8.2.0.Final
Starting the DefaultCacheManager after it has been previously started and stopped
produces the following exception:
{noformat}
java.lang.RuntimeException: org.infinispan.commons.CacheException: Unable to invoke
method public void org.infinispan.jmx.CacheJmxRegistration.start() on object of type
CacheJmxRegistration
at org.radargun.service.InfinispanLifecycle.start(InfinispanLifecycle.java:61)
at
org.radargun.service.InfinispanKillableLifecycle.start(InfinispanKillableLifecycle.java:47)
at org.radargun.stages.lifecycle.LifecycleHelper.start(LifecycleHelper.java:57)
at
org.radargun.stages.lifecycle.ServiceStartStage.executeOnSlave(ServiceStartStage.java:74)
at org.radargun.Slave.run(Slave.java:98)
at org.radargun.Slave.main(Slave.java:132)
Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void
org.infinispan.jmx.CacheJmxRegistration.start() on object of type CacheJmxRegistration
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:170)
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.cache.impl.CacheImpl.start(CacheImpl.java:760)
at
org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:574)
at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:529)
at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:409)
at org.infinispan.security.actions.GetCacheAction.run(GetCacheAction.java:26)
at org.infinispan.security.actions.GetCacheAction.run(GetCacheAction.java:14)
at org.infinispan.security.Security.doPrivileged(Security.java:76)
at
org.infinispan.registry.impl.SecurityActions.getRegistryCache(SecurityActions.java:37)
at
org.infinispan.registry.impl.ClusterRegistryImpl.startRegistryCache(ClusterRegistryImpl.java:205)
at
org.infinispan.registry.impl.ClusterRegistryImpl.addListener(ClusterRegistryImpl.java:166)
at
org.infinispan.query.remote.ProtobufMetadataManager.ensureInit(ProtobufMetadataManager.java:68)
at
org.infinispan.query.remote.ProtobufMetadataManager.getSerializationContext(ProtobufMetadataManager.java:156)
at
org.infinispan.query.remote.LifecycleManager.cacheStarting(LifecycleManager.java:114)
at
org.infinispan.factories.ComponentRegistry.notifyCacheStarting(ComponentRegistry.java:228)
at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:214)
at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:760)
at
org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:574)
at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:529)
at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:409)
at
org.radargun.service.InfinispanEmbeddedService.startCaches(InfinispanEmbeddedService.java:105)
at
org.radargun.service.Infinispan51EmbeddedService.startCaches(Infinispan51EmbeddedService.java:83)
at org.radargun.service.InfinispanLifecycle.start(InfinispanLifecycle.java:45)
... 5 more
Caused by: org.infinispan.jmx.JmxDomainConflictException: Domain already registered
org.infinispan when trying to register:
type=Cache,name="__cluster_registry_cache__(repl_sync)",manager="default"
at org.infinispan.jmx.JmxUtil.buildJmxDomain(JmxUtil.java:52)
at org.infinispan.jmx.CacheJmxRegistration.updateDomain(CacheJmxRegistration.java:132)
at
org.infinispan.jmx.CacheJmxRegistration.buildRegistrar(CacheJmxRegistration.java:119)
at
org.infinispan.jmx.AbstractJmxRegistration.registerMBeans(AbstractJmxRegistration.java:37)
at org.infinispan.jmx.CacheJmxRegistration.start(CacheJmxRegistration.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
... 32 more
{noformat}
Since the name of the JMX domain is "__cluster_registry_cache__(repl_sync)" it
belongs to the GlobalComponentRegistry. The previous call to stop did not produce any
errors, and can be worked around using "allowDuplicateDomains". However, this is
a regression from Infinispan 6.0.1.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)