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
> >
                                          

Reply via email to