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

Martin Gencur mgencur at redhat.com
Thu Sep 12 02:53:42 EDT 2013


On 11.9.2013 19:01, Ray Tsang 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?

I think this is a good idea.

Martin

>
>
> On Wed, Sep 11, 2013 at 5:46 AM, Martin Gencur <mgencur at redhat.com 
> <mailto: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
>     <mailto:infinispan-dev at lists.jboss.org>
>     > https://lists.jboss.org/mailman/listinfo/infinispan-dev
>
>     _______________________________________________
>     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
>
>
>
>
> _______________________________________________
> 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/20130912/60c08f04/attachment-0001.html 


More information about the infinispan-dev mailing list