[infinispan-dev] Very confusing L1 cache configuration defaults

Manik Surtani manik at jboss.org
Tue Mar 27 05:14:27 EDT 2012


Your analysis below is correct BTW, Galder.  Where are we now with this, post-ISPN-1924?

On 22 Mar 2012, at 12:15, Galder Zamarreño wrote:

> While working on https://issues.jboss.org/browse/ISPN-1924, I've found myself asking a lot of the questions below, so let me try to add some light...
> 
> On Mar 21, 2012, at 3:21 PM, Michal Linhard wrote:
> 
>> Hi,
>> 
>> when I was trying to figure out what is the L1 default configuration
>> 
>> The JDG default: DISABLED
>> 
>> when there is no l1-lifespan attribute in the element <distributed-cache 
>> />, L1 is disabled.
>> 
>> The Infinispan default: DISABLED
>> 
>> when there is no <l1/> element under <clustering/> element, or the <l1/> 
>> element is empty, L1 is disabled.
>> 
>> However the hardwired default in the code is different:
>> https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/configuration/cache/L1ConfigurationBuilder.java#L36
>> the enabled field is set to true.
> 
> ^ The reason for this is because the old org.infinispan.config.Configuration.L1Type.enabled is true
> 
> The builder just matches what used to happen in the old config. 
> 
>> 
>> this also means that L1ConfigurationBuilder prints a debug message: " L1 
>> is enabled and L1OnRehash was not defined, enabling it" even though L1 
>> won't be enabled in the end.
>> 
>> 
>> The L1 is disabled because of the "activated" attribute.
>> All I need to change is one attribute of L1Configuration (even unrelated 
>> to enablement) to "activate" it and it becomes enabled.
> 
> Again, I think this activated thing is legacy code again.
> 
>> 
>> I don't know what is the purpose of the "activated" attribute, it seems 
>> to be there for LegacyConfigurationAdaptor's purposes.
>> But when we get rid of it we might make L1 by default enabled (by mistake)
> 
> I don't think so, the activated stuff is there for legacy.
> 
>> 
>> What's the desired default ?
>> IMO L1 should be disabled by default, because without proper eviction 
>> settings, user can't very much control what's in each node's memory. And 
>> in general the performance tests don't show it performs better.
>> 
>> Shouldn't we sync these ?
>> Either set enabled = false in L1ConfigurationBuilder or allow enablement 
>> by default.
> 
> Leave it with me for ISPN-1924 (5.2) and I'll try to do both:
> 
> L1ConfigurationBuilder.enabled = false
> 
> And get rid of this activated flag that confuses things.
> 
> For ISPN-1924, I've been running the testsuite with the old configuration still in place.
> 
> This is a good thing because it means that whatever old configuration we had, it should still behave the same way.
> 
> So, I can easily test this and make sure that old L1 configuration will still work the same.
> 
>> 
>> m.
>> 
>> -- 
>> Michal Linhard
>> Quality Assurance Engineer
>> JBoss Datagrid
>> 
>> Red Hat Czech s.r.o.
>> Purkynova 99 612 45 Brno, Czech Republic
>> phone: +420 532 294 320 ext. 62320
>> mobile: +420 728 626 363
>> 
>> _______________________________________________
>> 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
twitter.com/maniksurtani

Lead, Infinispan
http://www.infinispan.org






More information about the infinispan-dev mailing list