[infinispan-dev] Do we need bulk eviction notification?
Vladimir Blagojevic
vblagoje at redhat.com
Thu Oct 14 09:53:07 EDT 2010
I think this is a great idea Trustin! Do you want to do this through JIRA?
On 2010-10-14, at 7:20 AM, 이희승 (Trustin Lee) wrote:
> Current BoundedConcurrentHashMap notifies EvictionListener for every
> evicted entry. However, as you see from
> BoundedConcurrentHashMap.Segment.attemptEviction(..), eviction often
> happens in bulk.
>
> If these evicted entries are supposed to be passivated, it is often
> beneficial to begin a transaction because it often takes much less time
> to call commit() less often. If N entries are evicted:
>
> without bulk eviction:
>
> store.store(e1); -- each store implied a commit()
> store.store(..);
> store.store(eN);
>
> with bulk eviction:
>
> store.begin(mods(e1, ..., eN), tx, true);
>
> so, what do you think about changing the EvictionListener interface like
> this:
>
> interface EvictionListener<K, V> {
> void preEvict(K key);
> void postEvict(K key, V value);
>
> void preBulkEvict(Set<K> keys);
> void postBulkEvict(Map<K, V> entries);
> }
>
> abstract class AbstractEvictionListener<K, V>
> implements EvictionListener {
> void preBulkEvict(Set<K> keys) {
> for (K k: keys) { preEvict(k); }
> }
> void postBulkEvict(Set<K> keys) {
> ...
> }
> }
>
> I might be missing something though. Please let me know if there is a
> way to achieve similar improvement without this modification.
>
> --
> Trustin Lee - http://gleamynode.net/
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Vladimir Blagojevic
JBoss Clustering Team
JBoss, by Red Hat
More information about the infinispan-dev
mailing list