[infinispan-dev] requirements for the new CacheStore API

Manik Surtani msurtani at redhat.com
Sat Jul 27 09:19:58 EDT 2013


On 25 Jul 2013, at 16:32, Mircea Markus <mmarkus at redhat.com> wrote:

> One more thing: currently the expiration thread is managed by each cache store individually. I don't think this is the way to go as it should be the invoker that cares about such a detail. I plan to move this logic out of the CacheStore into the EvictionManager - anyone sees any problem with this?

In what sense?  So you have a mechanism on the CacheStore interface called purge(), and this happens in the caller's thread, and the EvictionManager takes care of calling this asynchronously?

> 
> On 24 Jul 2013, at 11:55, Mircea Markus <mmarkus at redhat.com> wrote:
> 
>> Hi,
>> 
>> Starting from the original document Manik rolled out a while ago [1], here's the list of requirements I'm currently aware of in the context of the new CacheStore API:
>> - better integration with the fluent API (CacheStore.init() is horrendous) 
>> - support for non-distributed transaction cache stores (1PC) and support for XA capable cache store
>> - support iteration over all the keys/entries in the store
>> - needed for efficient Map/Reduce integration
>> - needed for efficient implementation of Cache.keySet(), Cache.entrySet(), Cache.values() methods
>> - a simple read(k) + write(k,v) interface to be implemented by users that just want to position ISPN as a cache between an app and a legacy system and which don't need/want to be bothered with all the other complex features
>> - support for expiration notification (ISPN-3064)
>> - support for size (efficient implementation of the cache.size() method)
>> 
>> Re: JSR-107 integration, I don't think we should depend on the JSR-107 API as it forces us to use JSR-107 internal structures[2] but we should at least provide an adapter layer.
>> 
>> [1] https://community.jboss.org/wiki/CacheLoaderAndCacheStoreSPIRedesign
>> [2] https://github.com/jsr107/jsr107spec/blob/v0.8/src/main/java/javax/cache/integration/CacheWriter.java#L59
>> 
>> Cheers,
>> -- 
>> Mircea Markus
>> Infinispan lead (www.infinispan.org)
>> 
>> 
>> 
>> 
> 
> Cheers,
> -- 
> Mircea Markus
> Infinispan lead (www.infinispan.org)
> 
> 
> 
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani

Platform Architect, JBoss Data Grid
http://red.ht/data-grid




More information about the infinispan-dev mailing list