ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rajivgandhi <rajiv.gan...@gmail.com>
Subject Re: EntryProcessor and Locks
Date Thu, 24 Aug 2017 00:59:14 GMT
Can you please confirm the below?
1. Affinity call or for that matter call does not lock any cache entry.
2. It runs on the primary node of the partition holding the cache entry
3. Does not serialize any operation either locally or across the cluster
4. Why does the ignite docs mention about 1 phase commit with affinity call?
Is there still some serialization going on?
https://apacheignite.readme.io/docs/affinity-collocation#collocating-compute-with-data

affinityRun(...) and affinityCall(...), on the other hand, do not hold any
locks. For example, it is absolutely legal to start multiple transactions or
execute cache queries from these methods without worrying about deadlocks.
In this case Ignite will automatically detect that the processing is
collocated and will employ a light-weight 1-Phase-Commit optimization for
transactions (instead of 2-Phase-Commit).







yakov wrote
> Entry processor will always be executed inside java-level synchronized
> section. Moreover, cache requests of the kind are processed inside striped
> pool and therefore will be executed sequentially.
> 
> If your entry processor has a high chance to be readonly then you can
> think of switching to IgniteCompute.affinityCall() and returning partial
> result from the callable. Will that work?
> 
> Yakov


yakov wrote
> Entry processor will always be executed inside java-level synchronized
> section. Moreover, cache requests of the kind are processed inside striped
> pool and therefore will be executed sequentially.
> 
> If your entry processor has a high chance to be readonly then you can
> think of switching to IgniteCompute.affinityCall() and returning partial
> result from the callable. Will that work?
> 
> Yakov


yakov wrote
> Entry processor will always be executed inside java-level synchronized
> section. Moreover, cache requests of the kind are processed inside striped
> pool and therefore will be executed sequentially.
> 
> If your entry processor has a high chance to be readonly then you can
> think of switching to IgniteCompute.affinityCall() and returning partial
> result from the callable. Will that work?
> 
> Yakov





--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/EntryProcessor-and-Locks-tp16150p16389.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Mime
View raw message