On Fri, Nov 22, 2013 at 6:15 PM, Pedro Ruivo <pedro(a)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.