[infinispan-dev] Do we need bulk eviction notification?

Mircea Markus mircea.markus at jboss.com
Thu Oct 14 16:18:49 EDT 2010


On 14 Oct 2010, at 14:53, Vladimir Blagojevic wrote:

> I think this is a great idea Trustin! Do you want to do this through JIRA? 
+1
> 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
> 
> 
> 
> 
> 
> _______________________________________________
> 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