[
https://issues.apache.org/jira/browse/IGNITE-7698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitriy Pavlov resolved IGNITE-7698.
------------------------------------
Resolution: Fixed
*Note: * To backport issue it is required to cherrypick 2 commits:
master (commit 1761a3c66dfa42fffa35e5cc736e2420e22851b8)
master (commit 7288828c595d5f6b9b59eae4d2c54d16d9770833)
> Page read during replacement should be outside of segment write lock
> --------------------------------------------------------------------
>
> Key: IGNITE-7698
> URL: https://issues.apache.org/jira/browse/IGNITE-7698
> Project: Ignite
> Issue Type: Improvement
> Components: persistence
> Affects Versions: 2.1
> Reporter: Alexey Goncharuk
> Assignee: Dmitriy Pavlov
> Priority: Major
> Fix For: 2.5
>
>
> When a page is acquired, if it needs to be read from disk, we read it inside
> the segment write lock which blocks other threads from acquiring pages that
> are already in memory.
> This can be easily avoided: once we initialized the page's being loaded RW
> lock, we can immediately acquire the write lock - no deadlocks can happen
> here. Afterwards, we can release the segment write lock and read the page.
> The change seems to be very local.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)