ASF GitHub Bot commented on IGNITE-7698:

GitHub user dspavlov opened a pull request:


    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:


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

Reply via email to