On Fri, Nov 22, 2013 at 6:15 PM, Pedro Ruivo <pedro@infinispan.org> wrote:


On 11/22/2013 11:40 AM, Sanne Grinovero wrote:

>
> Do we still need to support the non-V8 implementations?
> Clearly there are cases in which we need it to be available:
>   org.infinispan.util.concurrent.locks.containers.AbstractPerEntryLockContainer<L>
> refers explicitly to EquivalentConcurrentHashMapV8

I don't think we need to support the non-v8 implementation but I'm not
aware of any BoundedConcurrentHashMapV8. So, if I have to choose, for me
it is simpler to change the current BounderConcurrentHashMap than
implement all the eviction policies on top of ECHM-V8.


To put it another way, we do need to support the non-v8 implementation because that's the only implementation of size-based eviction we've got :)

AFAIK there are some lock-free implementations out there for LRU, and there may be some for LIRS as well. But our current implementations require a lock on the entire segment, so there is no simple way to make them work with CHMV8.