[infinispan-dev] JMX and allowDuplicateDomains - should this be true by default?

Mircea Markus mircea.markus at jboss.com
Mon Nov 23 07:47:08 EST 2009


On Nov 13, 2009, at 11:29 AM, Manik Surtani wrote:

> 
> On 13 Nov 2009, at 10:22, Mircea Markus wrote:
> 
>> 
>> On Nov 12, 2009, at 8:00 PM, Manik Surtani wrote:
>> 
>>> 
>>> On 12 Nov 2009, at 17:54, Galder Zamarreno wrote:
>>> 
>>>> 
>>>> 
>>>> On 11/12/2009 06:48 PM, Manik Surtani wrote:
>>>>> 
>>>>> On 12 Nov 2009, at 16:20, Galder Zamarreno wrote:
>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On 11/12/2009 05:04 PM, Mircea Markus wrote:
>>>>>>> On Nov 12, 2009, at 3:08 PM, Manik Surtani wrote:
>>>>>>> 
>>>>>>>> Any thoughts?  It would certainly help some occasional UT failures!
>>>>>>>> But UTs shouldn't be a reason to set a default
>>>>>>> this could be mitigated, as long as all the CacheManagers are being
>>>>>>> constructed using TestCacheManagerFactory (I think high majority of
>>>>>>> them do).
>>>>>>>> - I just wonder what's wrong with making this a default,
>>>>>>> the basic idea behind this was to allow it, but force the user to
>>>>>>> acknowledge that the domain is already taken, and be aware about the
>>>>>>> incrementing counter.
>>>>>> 
>>>>>> Yeah. I don't think I'd enable it by default, otherwise duplicate domain
>>>>>> errors might be missed and having to enable it manually forces the
>>>>>> client to at least thing of the consequences and understand the change
>>>>>> in mbean names.
>>>>> 
>>>>> ok
>>>>> 
>>>>>> To get to the bottom of such UT failures, we could use an strategy like
>>>>>> this during unit testing. When a jmx domain is created, store a
>>>>>> stacktrace up to that point somewhere (maybe a ThreadLocal?) and when
>>>>>> the jmx domain is cleared at stoppage time, clear it.
>>>>>> 
>>>>>> Then, if a duplicate is found when duplicates were not expected, throw
>>>>>> this stacktrace indicating that someone created a jmx domain at that
>>>>>> point but it does not appear to have been closed.
>>>>>> 
>>>>>> This is similar to what AS uses to see if any connections were left
>>>>>> open. Obviously, this setting would only be enabled during unit tests.
>>>>>> 
>>>>>> Also, not to pollute production code, this could maybe be implemented
>>>>>> with Byteman or similar so that we only keep this stuff separate and
>>>>>> only enable it during UTs. THoughts?
>>>>>> 
>>>>>> I'm happy to look at this at some point.
>>>>> 
>>>>> It could be much simpler, as Mircea suggested, by enabling dupe domains in all unit test configs since they are created in 1 place.  :)  Want to give this a try instead?
>>>> 
>>>> Hmmmm, I suppose that if dups where allowed, those tests that relied on 
>>>> non dup mbean names will fail, so I think it's pushing the issue 
>>>> somewhere else. IOW, if all test assume there're no dups, they will be 
>>>> looking up infinispan:* mbeans. But if dups appear, the mbean looked up 
>>>> might belong to a different test, a test that might not have 
>>>> unregistered the mbean and the result will be rather confusing. Does 
>>>> this make any sense?
>>> 
>>> Yeah but there is probably only 1 test like that, right?  And for that test we could specify a custom config to override the JMX domain and the duplicity flag.
>> What about generating unique domain names per cache manager vs enabling dupe domains. Or even disable jmx entirely for tests that don't need it.
> 
> That's not good enough - tests that *do* need it could still be scheduled to run in parallel and trip up.
> 
>> A possible solution would be:
>> - jmx disabled by default (The TestCacheManagerFactory might do this)
>> - new TestCacheManagerFactory method would receive the jmx domain. It will keep track of all active domains and won't allow two CacheManagers with same domain name.
> 
> That would work, care to take this on?  :)
I've created this and assigned to me.
https://jira.jboss.org/jira/browse/ISPN-285
> 
>> Wdyt?
>>> 
>>>> 
>>>>> 
>>>>>> 
>>>>>>>> since we do have an incrementing counter prepended to the domain
>>>>>>>> anyway?
>>>>>>>> 
>>>>>>>> Cheers
>>>>>>>> --
>>>>>>>> Manik Surtani
>>>>>>>> manik at jboss.org
>>>>>>>> Lead, Infinispan
>>>>>>>> Lead, JBoss Cache
>>>>>>>> http://www.infinispan.org
>>>>>>>> http://www.jbosscache.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 Engineer
>>>>>> Infinispan, JBoss Cache
>>>>>> _______________________________________________
>>>>>> infinispan-dev mailing list
>>>>>> infinispan-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>>> 
>>>>> --
>>>>> Manik Surtani
>>>>> manik at jboss.org
>>>>> Lead, Infinispan
>>>>> Lead, JBoss Cache
>>>>> http://www.infinispan.org
>>>>> http://www.jbosscache.org
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> infinispan-dev mailing list
>>>>> infinispan-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>>> 
>>>> -- 
>>>> Galder Zamarreño
>>>> Sr. Software Engineer
>>>> Infinispan, JBoss Cache
>>>> _______________________________________________
>>>> infinispan-dev mailing list
>>>> infinispan-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>>> 
>>> --
>>> Manik Surtani
>>> manik at jboss.org
>>> Lead, Infinispan
>>> Lead, JBoss Cache
>>> http://www.infinispan.org
>>> http://www.jbosscache.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
> 
> --
> Manik Surtani
> manik at jboss.org
> Lead, Infinispan
> Lead, JBoss Cache
> http://www.infinispan.org
> http://www.jbosscache.org
> 
> 
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20091123/a0da3ec8/attachment-0002.html 


More information about the infinispan-dev mailing list