[ https://issues.apache.org/jira/browse/IGNITE-5714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16858646#comment-16858646 ]
Aleksey Plekhanov commented on IGNITE-5714: ------------------------------------------- [~gvvinblade], But explicit lock version different each time lock is used, there is no thread local for this value (AFAIK). It's incremented here: GridDhtColocatedLockFuture.java:229. Did I miss something? Looks like I've misused {{txFinishSync}} object. But there are still a couple of issues when {{txFinishSync}} is applicable: * For rolling update case (not all nodes in the cluster can support locking by xid, some of them can still lock by {{threadId}}) * For implicit transactions > Implementation of suspend/resume for pessimistic transactions > ------------------------------------------------------------- > > Key: IGNITE-5714 > URL: https://issues.apache.org/jira/browse/IGNITE-5714 > Project: Ignite > Issue Type: Sub-task > Components: general > Reporter: Alexey Kuznetsov > Assignee: Aleksey Plekhanov > Priority: Major > Labels: iep-34 > Time Spent: 20m > Remaining Estimate: 0h > > Support transaction suspend()\resume() operations for pessimistic > transactions. Resume can be called in another thread. > _+But there is a problem+_: Imagine, we started pessimistic transaction in > thread T1 and then perform put operation, which leads to sending > GridDistributedLockRequest to another node. Lock request contains thread id > of the transaction. Then we call suspend, resume in another thread and we > also must send messages to other nodes to change thread id. > It seems complicated task.It’s better to get rid of sending thread id to the > nodes. > We can use transaction xid on other nodes instead of thread id. Xid is sent > to nodes in GridDistributedLockRequest#nearXidVer > _+Proposed solution+_ : On remote nodes instead of thread id of near > transaction GridDistributedLockRequest#threadId use its xid > GridDistributedLockRequest#nearXidVer. > Remove usages of near transaction's thread id on remote nodes. -- This message was sent by Atlassian JIRA (v7.6.3#76005)