[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