On Fri, Mar 31, 2017 at 6:29 AM, ALEKSEY KUZNETSOV <alkuznetsov...@gmail.com > wrote:
> Hi all! > Consider we have 4 nodes. Node1 contains key1, Node2 contains key1 backup, > and Node3 near-contains (contains in near cache) key1. > Now we commit key1 value change like the following : Node4Cache.put(key1, > updatedValue); > > From my point of view Node1 receives prepare request and send > DhtTxPrepareRequest to Node2 and Node3. > processDhtTxPrepareRequest will be executed on Node3 and GridNearTxRemote > will be created by startNearRemoteTx(). > > What is unclear is the role of GridNearTxRemote ? > >From what I remember, this object is created to handle the near transaction (not the backup transaction). Near cache has to be updated in transactional fashion, but possibly with a different sync/async policy from primary node, so we need to handle the near transaction differently. D.