ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitriy Govorukhin (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-12081) Page replacement can reload invalid page during checkpoint
Date Fri, 16 Aug 2019 15:13:00 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-12081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Dmitriy Govorukhin updated IGNITE-12081:
    Fix Version/s: 2.7.6

> Page replacement can reload invalid page during checkpoint
> ----------------------------------------------------------
>                 Key: IGNITE-12081
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12081
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Dmitriy Govorukhin
>            Assignee: Dmitriy Govorukhin
>            Priority: Critical
>             Fix For: 2.7.6
> There is a race between {{writeCheckpointPages}} and page replacement process:
>  * Checkpointer thread begins a checkpoint
>  * Checkpointer thread calls {{getPageForCheckpoint()}}, which will copy page content *and
clear dirty flag*
>  * Page replacement tries to find a page for replacement and chooses this page, the page
is thrown away
>  * Before the page is written back to the store, the page is acquired again.
> As a result, an older copy of the page is brought back to memory, which causes all kinds
of corruption exceptions and assertions.
> The attached unit test demonstrates the issue. It is likely that all baselines are affected
starting from 2.4
> As a part of this ticket, we must add more unit-tests for checkpointing protocol invariants
we rely on.

This message was sent by Atlassian JIRA

View raw message