[
https://issues.apache.org/jira/browse/IGNITE-7698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16365422#comment-16365422
]
ASF GitHub Bot commented on IGNITE-7698:
----------------------------------------
GitHub user dspavlov opened a pull request:
https://github.com/apache/ignite/pull/3529
IGNITE-7698: Page read during replacement should be outside of segmen…
…t write lock
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-7698
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/3529.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3529
----
commit 5f98eeeae3b452482239223490772eb429ff27d4
Author: dpavlov <dpavlov@...>
Date: 2018-02-15T11:19:59Z
IGNITE-7698: Page read during replacement should be outside of segment
write lock
----
> 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)