[
https://issues.apache.org/jira/browse/IGNITE-7698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16373169#comment-16373169
]
Dmitriy Pavlov edited comment on IGNITE-7698 at 2/22/18 5:55 PM:
-----------------------------------------------------------------
*Note:* To backport issue it is required to cherrypick 2 commits:
master (commit 1761a3c66dfa42fffa35e5cc736e2420e22851b8)
master (commit 7288828c595d5f6b9b59eae4d2c54d16d9770833)
was (Author: dpavlov):
*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)