[infinispan-dev] Expiration element of LevelDB cache store redundant?

Ray Tsang saturnism at gmail.com
Wed Sep 11 13:07:36 EDT 2013


Oh, and I didn't go down this path in the lib mode configuration was
because I thought maybe it's useful to be able to configure it to 2
different paths...


On Wed, Sep 11, 2013 at 10:01 AM, Ray Tsang <saturnism at gmail.com> wrote:

> Martin,
>
> While those are implementation details, I think some adjustment should be
> allowed for tuning purposes.  There should be some reasonable values.  On
> the other hand, I think that, for the expiration db directory, and data
> directory - perhaps we should default somehow.  Eg.,
>
> <leveldb-store path="leveldb-nc"...>...</...>
>
> A data directory can be created in leveldb-nc/data, and expiration
> directory can be created in leveldb-nc/expired
>
> What do you guys feel?
>
>
> On Wed, Sep 11, 2013 at 5:46 AM, Martin Gencur <mgencur at redhat.com> wrote:
>
>> Adding Ray.
>>
>> Ray, can you please comment on this?
>>
>> Thanks
>> Martin
>>
>> On 11.9.2013 11:34, Martin Gencur wrote:
>> > Hi,
>> > let's look at configuration of LevelDB in Infinispan Server:
>> > https://gist.github.com/mgencur/6520948
>> >
>> > After investigating what the <expiration> configuration element is good
>> > for, I think it's an implementation detail and should be removed.
>> >
>> > Every time a mortal entry is stored in the cache, it's put (in internal
>> > format of the cache store - ExpiryEntry) in an expiryEntryQueue whose
>> > size is specified in the configuration through "queue-size" attribute.
>> > The path attribute (location of dbExpired) is only used when purge() is
>> > called on the cache store. At that moment, all entries that are in the
>> > expiryEntryQueue are flushed into dbExpired (location specified through
>> > "path"), all the elements from dbExpired are read and if they have
>> > expiry time shorter than current time, they are removed from the primary
>> > cache store's location, i.e. they are purged.
>> >
>> > IMO, the location where intermediate (ExpiryEntry) are stored is an
>> > implementation (users don't have access to it anyway) detail and the
>> > queue-size attribute is a black-box users will never know how to set it.
>> > I would suggest hiding these implementation details and simplify the
>> > configuration. There are way too many configuration elements already.
>> >
>> > WDYT?
>> >
>> > Thanks
>> > Martin
>> > _______________________________________________
>> > 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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20130911/2dc41742/attachment.html 


More information about the infinispan-dev mailing list