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

Martin Gencur mgencur at redhat.com
Wed Sep 11 08:46:49 EDT 2013


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



More information about the infinispan-dev mailing list