[infinispan-dev] JMX stuff in infinispan

Mircea Markus mircea.markus at jboss.com
Wed Mar 25 09:59:17 EDT 2009


Manik Surtani wrote:
>
> On 25 Mar 2009, at 13:19, Adrian Cole wrote:
>
>> tough call..  the jmx user may not have access to the log to see the
>> warning anyway.
>>
>> I would prefer an info notification of coarse registration events then
>> warn or trace depending on whether the name is overloaded.  That would
>> seem more grep friendly for unixy folks who scrape logs for things.  I
>> think a mandatory index would me simpler in that case, although
>> slightly confusing for folks who don't have more then one.
>
> +1 on the mandatory index.
I think mandatory indexes would confuse users, as they configured an 
jmxDomain in clear text and see an different on the server. Even more, 
they might want to enforce an domainName for other reasons (e.g. thay 
have other modules expose under that domain name etc).
I would like the user to be aware of the fact that there is an conflict 
and take action, rather than dig through logs first and then curse the 
developer who wrote the code.
What about:
1) forbid a registration under same domain. Cache won't start as 
registration is done at startup, an exception will be thrown.
2) add an configuration attribute named forceAutoIncrement 
(default=false). The user would have to manually enable it.Also, the 
error message at 1) would inform him about this attribute, so the change 
should be quite straight
> I am guessing this is in CacheJmxRegistration.getJmxDomain()?  Why 
> does index start at '2' ?  :-)  Ah I see - so you would have 
> "cacheDomain", "cacheDomain2", "cacheDomain3", etc.  
>
> Hmm... I still prefer "cacheDomain:0", "cacheDomain:1", etc.  More 
> consistent.
>
>
>>
>>
>> my 2p..
>> -Adrian
>>
>> On Wed, Mar 25, 2009 at 12:47 PM, Mircea Markus 
>> <mircea.markus at jboss.com <mailto:mircea.markus at jboss.com>> wrote:
>>> Manik Surtani wrote:
>>>>
>>>> When running the test suite I see:
>>>>
>>>> WARN  [ComponentsJmxRegistration] (pool-1-thread-9) Jmx domain 
>>>> already in
>>>> use
>>>>
>>>> Is this as severe a problem as a WARN?  It should be entirely possible
>>>> that people register > 1 cache managers with the same MBean Server. 
>>>>  Perhaps
>>>> rather than log such a severe warning, we should use a counter if 
>>>> the domain
>>>> is repeated?  E.g.,
>>>> jmxDomain:<managerInstanceNumber>:global:<componentName>
>>>> jmxDomain:<managerInstanceNumber>:<cachename>:<componentName>
>>>>
>>>> WDYT?
>>>
>>> that's already there ;) an index is appended to the domain name, if the
>>> domain is already registered(same as you suggested, only that first 
>>> domain
>>> won't have any index).
>>> Phaps I can drop the warning (replace with trace), but I still might 
>>> want
>>> people to know that there is a name conflict : e.g. they might 
>>> lookup the
>>> cache in JMX programmatically and work with a totally different cache
>>> instance..
>>>>
>>>> Cheers
>>>> Manik
>>>>
>>>> On 25 Mar 2009, at 10:45, Mircea Markus wrote:
>>>>
>>>>> Manik Surtani wrote:
>>>>>>
>>>>>> On 25 Mar 2009, at 06:22, Mircea Markus wrote:
>>>>>>
>>>>>>> implementation finished.
>>>>>>> Following features were added, compared with JBossCache:
>>>>>>> 1) jmx domain care be specified now.
>>>>>>> 2) an MBeanServer lookup can be configured, to lookup the server on
>>>>>>> which the components will be registered - in prev version the
>>>>>>> PlatformMBeanServer was hardcoded (now it's only an default)
>>>>>>> 3) missing unit tests were added for all the annotated MBeans
>>>>>>> 4) jmx is now configured in two places:
>>>>>>>  - in global section: to enable exposure of shared information (rpc
>>>>>>> manager info, cache manager info)
>>>>>>>  e.g <globalJmxStatistics enabled="true" jmxDomain="infinispan"
>>>>>>> mBeanServerLookup="org.infinispan.jmx.PerThreadMBeanServerLookup" />
>>>>>>>
>>>>>>>  - for each cache, where cache specific info is configured(mainly
>>>>>>> interceptors, which now are cache specific)
>>>>>>> e.g. <jmxStatistics enabled="false"/>
>>>>>>
>>>>>> How are objects registered in JMX?  I'm guessing 
>>>>>> jmxDomain:<component>
>>>>>> for stuff on the cache manager, and 
>>>>>> jmxDomain:<cacheName>:<component> for
>>>>>> cache-level components?
>>>>>
>>>>> jmxDomain:global: [component name] for cache manager stuff
>>>>> for cache level is as you mentioned.
>>>>>>
>>>>>> Cheers
>>>>>> Manik
>>>>>>
>>>>>> --
>>>>>> Manik Surtani
>>>>>> Lead, JBoss Cache
>>>>>> http://www.jbosscache.org
>>>>>> manik at jboss.org <mailto:manik at jboss.org>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Manik Surtani
>>>> Lead, JBoss Cache
>>>> http://www.jbosscache.org
>>>> manik at jboss.org <mailto:manik at jboss.org>
>>>>
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org <mailto:infinispan-dev at lists.jboss.org>
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>
>
> --
> Manik Surtani
> Lead, JBoss Cache
> http://www.jbosscache.org
> manik at jboss.org <mailto:manik at jboss.org>
>
>
>
>




More information about the infinispan-dev mailing list