[ 
https://issues.apache.org/jira/browse/IGNITE-29233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikita Amelchev updated IGNITE-29233:
-------------------------------------
    Priority: Critical  (was: Major)

> Fix explicit lock left acquired when its timeout expires during mapping
> -----------------------------------------------------------------------
>
>                 Key: IGNITE-29233
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29233
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Nikita Amelchev
>            Assignee: Nikita Amelchev
>            Priority: Critical
>             Fix For: 2.19
>
>
> Fix explicit lock left acquired when its timeout expires during mapping
> If the timeout of {{IgniteCache.lock(key).tryLock(timeout)}} expires while 
> the lock request is still being mapped (a GC pause longer than the timeout, 
> or the mapping waits for an exchange), the lock future is completed and 
> undone *before* its candidates are registered. {{tryLock}} returns {{false}}, 
> but:
> * the key stays locked on the primary node with no thread able to release it;
> * the next partition map exchange hangs waiting for the leaked candidate.
> A reentry of a key the thread already holds is not reverted either when a 
> multi-key lock times out, so the key stays locked after the holder releases 
> it.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to