]
Tristan Tarrant updated ISPN-10887:
-----------------------------------
Sprint: DataGrid Sprint #36, DataGrid Sprint #37 (was: DataGrid Sprint #36)
GlobalJmxStatisticsConfiguration.allowDuplicateDomains is not
implemented atomically and can fail frequently
------------------------------------------------------------------------------------------------------------
Key: ISPN-10887
URL:
https://issues.jboss.org/browse/ISPN-10887
Project: Infinispan
Issue Type: Bug
Components: JMX, reporting and management
Affects Versions: 10.0.0.Final
Reporter: Nistor Adrian
Assignee: Nistor Adrian
Priority: Major
Fix For: 10.1.0.CR1, 10.0.2.Final
The feature is supposed to allow detection of an already occupied jmx domain and generate
a new unique one by adding an increasing number suffix. The implementation polls the
MBeanServer registry using queryNames until a free domain is found. The unique domain
generation and the registration of the first MBean to occupy it is not atomic, so multiple
CacheManagers starting up concurrently can mistakenly pick up the same domain.
This can be fixed by making it atomic, by not using queryNames and instead directly
registering the first bean, retrying if InstanceAlreadyExistsException. The first bean has
to be picked identically by all cache managers. We'll pick first the cache manager
itself and register the other components afterwards.