Hi Vladimir, My question was related to your expectations as a user of JCache API. Specifically, if you were to use the JCache's entry processor feature, where and when would you expect the EntryProcessor be executed once you call Cache.invoke() method?
I wonder if there is anyone here who's used this API? The reason I'm asking this question is that I believe the current implementation of this feature in Ignite strikes me as strange, to say the least. And due to lack of details/guidance in the JCache spec as to how this feature to be implemented the only thing left is to ask the community for their opinion/experience. Based on my previous experience with Coherence's implementation of this feature I expected the same behavior from Ignite's. But alas, Ignite has its own -- different -- opinion how it should be done. :) Regards Andrey > Date: Thu, 26 Nov 2015 20:59:48 +0300 > Subject: Re: EntryProcessor execution semantics > From: vers...@gridgain.com > To: dev@ignite.apache.org > > Hi Andrey! > > Could you please clarify in what case are you interested in: > > 1. cache entries backup related to CacheConfiguration#getBackups amount > 2. just a remote nodes with some other keys > > Thanks! > > On Wed, Nov 25, 2015 at 8:43 PM, Andrey Kornev <andrewkor...@hotmail.com> > wrote: > > > Hello, > > > > I'd like to ask the community members to share their thoughts/opinions on > > the following subject. > > > > JCache provides a way to atomically execute one or more actions against a > > cache entry using the Entry Processor mechanism. The Cache interface > > exposes an invoke() method that takes a key of the cache entry to be acted > > upon and an instance of the EntryProcessor interface as its parameters. > > When invoked, the entry processor will be passed an instance of JCache's > > MutableEntry which gives the processor exclusive access to the cache entry > > for the duration of the EntryProcessor.process() call. Great feature for > > delta updates, in-place compute, coordination/agreement (a la zookeeper), > > and so on! > > > > Now, if one were to put his Ignite user hat on, what execution semantics > > would you as a user expect? Specifically, > > 1) the EntryProcessor is executed on the key's primary node as well as all > > backup nodes. > > 2) the EntryProcessor is executed only on the key's primary node. > > 3) something else. > > > > Unfortunately JCache spec doesn't provide much details on this feature. > > Ignite documentation is silent, too. > > > > Thanks > > Andrey > >