[
https://issues.apache.org/jira/browse/IGNITE-8295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16444073#comment-16444073
]
Ilya Lantukh commented on IGNITE-8295:
--------------------------------------
Changes look good to me. Regarding your TODO - we don't need to log WAL record
for partition re-creation, because we log partition state changes, which are
enough to understand that store is inconsistent.
> Possible deadlock on partition eviction.
> ----------------------------------------
>
> Key: IGNITE-8295
> URL: https://issues.apache.org/jira/browse/IGNITE-8295
> Project: Ignite
> Issue Type: Bug
> Components: persistence
> Reporter: Andrew Mashenkov
> Assignee: Andrew Mashenkov
> Priority: Major
> Fix For: 2.6
>
> Attachments: deadlock.stack
>
>
> GridCacheOffheapManager.recreateCacheDataStore() calls
> updatePartitionCounter() under partStoreLock which may try to acquire
> checkpointReadLock.
> recreateCacheDataStore() method can be called with checkpointReadLock (on
> GridDhtPartitionsExchangeFuture.updatePartitionFullMap)
> or without checkpointReadLock (GridDhtPartitionEvictor thread calls
> evictPartitionAsync),
> So, checkpoint can cause a deadlock if it happens in between.
> Seems, we should acquire checkpointReadLock before partStoreLock.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)