On 19 Mar 2013, at 17:38, Dan Berindei wrote: > > > > Implementation-wise, just changing the interceptor order is probably not > > enough. If the key doesn't exist in the cache, the CacheLoaderInterceptor > > will still try to load it from the cache store after the remote lookup, so > > we'll need a marker in the invocation context to avoid the extra cache > > store load. > if the key does't map to the local node it should trigger a remote get to > owners (or allow the dist interceptor to do just that) > > Actually, since this is just a performance issue, it could wait until we > > implement tombstones everywhere. > Hmm, not sure i see the correlation between this and tombstones? > > > If the key doesn't exist in the cache at all, on any node, then the remote > lookup will return null and the CacheLoaderInterceptor will try to load it > from the local cache store again (assuming we move CacheLoaderInterceptor > after DistributionInterceptor). If DistributionInterceptor put a tombstone in > the invocation context for that key, CacheLoaderInterceptor could avoid that > extra cache store lookup. I think the rule for going to the caches store should be based on key locality - if the key does not map to the local node, then don't involve the store at all locally, but delegate the store interaction to actual owner.
Cheers, -- Mircea Markus Infinispan lead (www.infinispan.org) _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev