[infinispan-dev] JMX stuff in infinispan

Galder Zamarreno galder.zamarreno at redhat.com
Tue Mar 31 12:52:43 EDT 2009



Mircea Markus wrote:
> Brian Stansberry wrote:
>> Mircea Markus wrote:
>>> 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 think an option to name the manager is needed. I'll be running 
>> multiple managers in the same AS, and people are going to need to be 
>> able to access them by name, not by a number that varies based on what 
>> order the managers are started in.
> I think jmxDomain does just that, i.e. groups all element from a 
> CacheManager under the same common structure.
> The scenario we're talking about is when people configure the same name 
> (or do not configure anything and same default is used), what will 
> happen with the second cache manager?

Not sure that should be allowed. JMX implementations do moan (via a 
InstanceAlreadyExistsException) when the name already exists, why 
shouldn't we? You know have the opportunity to give it a different name 
(side: we couldn't with JBC - 
https://jira.jboss.org/jira/browse/JBCACHE-1485), so people should make 
use of it IMO.

>>
>>>> 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>
>>>>
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>
>>
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

-- 
Galder Zamarreño
Sr. Software Maintenance Engineer
JBoss, a division of Red Hat



More information about the infinispan-dev mailing list