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] [Created] (IGNITE-12081) Page replacement can reload invalid page during checkpoint
Date Fri, 16 Aug 2019 15:13:00 GMT
Dmitriy Govorukhin created IGNITE-12081:

             Summary: 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

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