[ https://issues.apache.org/jira/browse/IGNITE-9290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16717356#comment-16717356 ]
Alexey Goncharuk commented on IGNITE-9290: ------------------------------------------ [~amashenkov], since {{removeExplicitNodeLocks}} is now called asynchronously, we do not need to call {{cctx.exchange().exchangerUpdateHeartbeat()}}. Instead, if we are running in a system worker, we need to update it's heartbeat. [~agura], can you suggest a canonical way to do this? > 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)