[infinispan-issues] [JBoss JIRA] (ISPN-4659) DefaultCacheManager.stop() is not removing the GlobalComponentRegistry JMX domain

Dan Berindei (JIRA) issues at jboss.org
Wed May 25 05:01:00 EDT 2016


     [ https://issues.jboss.org/browse/ISPN-4659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Berindei resolved ISPN-4659.
--------------------------------
    Fix Version/s: 9.0.0.Alpha1
       Resolution: Out of Date


cluster registry is actually a component in the component registry, which started a regular cache called {{_cluster_registry_cache}}. The component and the cache were removed with ISPN-5932.

> 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: 9.0.0.Alpha1
>
>
> 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)


More information about the infinispan-issues mailing list