[infinispan-dev] Eviction overhaul
Mircea Markus
mircea.markus at jboss.com
Thu Apr 2 04:10:05 EDT 2009
Manik Surtani wrote:
> Hello all.
>
> I have finished my work with the eviction code in Infinispan, here is a
> summary of what has happened.
>
> From a user perspective (including API and configuration) as well as a
> design overview, please have a look at
>
> http://www.jboss.org/community/docs/DOC-13449
>
> From an implementation perspective, have a look at the srcs of
> FIFODataContainer and LRUDataContainer. These two classes are where
> everything happens. The javadocs should explain the details, but in a
> nutshell you can expect constant time operations for all puts, gets,
> removes, iterations. :-)
>
> Feedback on the impls would be handy. :-)
I like to concept - it's nice and clear for users to grasp. Also took a
look at implementation, nice and complex, so I'd rather have you and a
white board to understand it completely :) .
Some notes though: EvictionException is never used, same for SpinLock.rl
field.
And a question:
with this impl, we're doing locking twice for cache operations: on
LockInterceptor and on DataContainer itself. Why is this necessary? I
think this is needed so that eviction thread and user threads not to
conflict( am I right?).
Isn't it possible to use the same locking (i.e. LockManager) for both
these threads?
(also, why are we using ConcurrentHashMaps in default container - isn't
access to data guarded by the lock interceptor?
>
> Cheers
> --
> Manik Surtani
> Lead, JBoss Cache
> http://www.jbosscache.org
> manik at jboss.org <mailto:manik at jboss.org>
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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