[
https://issues.apache.org/jira/browse/IGNITE-28758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikita Amelchev updated IGNITE-28758:
-------------------------------------
Description: For non-transactional explicit locks, the local DHT lock
callback may complete after the outer GridDhtColocatedLockFuture has already
been finished by timeout/cancel/error cleanup. In that case cleanup removes the
explicit lock candidate, but the late local callback still proceeds to
markExplicitOwner(), which can hit GridCacheExplicitLockSpan.markOwned()
assertion or leave a locally acquired lock behind. (was: For non-transactional
explicit locks in colocated cache, the local DHT lock callback may complete
after the outer GridDhtColocatedLockFuture has already been finished by
timeout/cancel/error cleanup. In that case cleanup removes the explicit lock
candidate, but the late local callback still proceeds to markExplicitOwner(),
which can hit GridCacheExplicitLockSpan.markOwned() assertion or leave a
locally acquired lock behind.)
> Explicit lock local-DHT callback can race with timeout/cancel cleanup.
> ----------------------------------------------------------------------
>
> Key: IGNITE-28758
> URL: https://issues.apache.org/jira/browse/IGNITE-28758
> Project: Ignite
> Issue Type: Bug
> Reporter: Nikita Amelchev
> Assignee: Nikita Amelchev
> Priority: Major
> Labels: ise
> Fix For: 2.19
>
>
> For non-transactional explicit locks, the local DHT lock callback may
> complete after the outer GridDhtColocatedLockFuture has already been finished
> by timeout/cancel/error cleanup. In that case cleanup removes the explicit
> lock candidate, but the late local callback still proceeds to
> markExplicitOwner(), which can hit GridCacheExplicitLockSpan.markOwned()
> assertion or leave a locally acquired lock behind.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)