[ https://issues.apache.org/jira/browse/IGNITE-9290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724100#comment-16724100 ]
Andrey Gura commented on IGNITE-9290: ------------------------------------- There is no such way. You can use {{GridWorker.updateHeartbeat()}} method or use {{GridWorker.blockingSectionBegin()/GridWorker.blockingSectionEnd()}} for blocking operations if you implement own worker. In general, if your code could be invoked from different threads you should check that thread is runner of {{GridWorker}} and this particular {{GridWroker}} instance is registered in {{WorkersRegistry}}. > Make remove explicit locks async when node left. > ------------------------------------------------ > > Key: IGNITE-9290 > URL: https://issues.apache.org/jira/browse/IGNITE-9290 > Project: Ignite > Issue Type: Bug > Components: cache > Reporter: Andrew Mashenkov > Assignee: Andrew Mashenkov > Priority: Critical > Labels: deadlock, iep-25 > Fix For: 2.8 > > > GridCacheMvccManager.removeExplicitNodeLocks() run synchronously in discovery > and exchange threads. This introduce unnecessary delays in discovery and > exchange process. > Also, this may cause a deadlock on node stop if user transaction holds an > entry lock and awaits some Ignite manager response (e.g. cache store or DR or > CQ), as manager stops right after last exchange has finished so managers > can't detect node is stopping. > > [1] > [http://apache-ignite-developers.2346864.n4.nabble.com/Synchronous-tx-entries-unlocking-in-discovery-exchange-threads-td33827.html] > -- This message was sent by Atlassian JIRA (v7.6.3#76005)