[ 
https://issues.apache.org/jira/browse/IGNITE-7698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16372791#comment-16372791
 ] 

ASF GitHub Bot commented on IGNITE-7698:
----------------------------------------

GitHub user dspavlov opened a pull request:

    https://github.com/apache/ignite/pull/3560

    IGNITE-7698: Fixed test hangup, avoid to double lock page in case of …

    …restore is done.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-7698-2

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/3560.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 #3560
    
----
commit aaff74d1c1e91559ffd2123d350ca0895e6d2f76
Author: dpavlov <dpavlov@...>
Date:   2018-02-22T13:15:10Z

    IGNITE-7698: Fixed test hangup, avoid to double lock page in case of 
restore is done.

----


> 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)

Reply via email to