[jira] [Updated] (IGNITE-12081) Page replacement can reload invalid page during checkpoint
[ https://issues.apache.org/jira/browse/IGNITE-12081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Pavlov updated IGNITE-12081: Release Note: Fixed an issue that could cause data corruption during checkpointing > 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 > Labels: 2.7.6-rc0 > Fix For: 2.7.6 > > Time Spent: 0.5h > Remaining Estimate: 0h > > 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 (v8.3.2#803003)
[jira] [Updated] (IGNITE-12081) Page replacement can reload invalid page during checkpoint
[ https://issues.apache.org/jira/browse/IGNITE-12081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Pavlov updated IGNITE-12081: Ignite Flags: Docs Required,Release Notes Required (was: Docs Required) > 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 > Labels: 2.7.6-rc0 > Fix For: 2.7.6 > > Time Spent: 0.5h > Remaining Estimate: 0h > > 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 (v8.3.2#803003)
[jira] [Updated] (IGNITE-12081) Page replacement can reload invalid page during checkpoint
[ https://issues.apache.org/jira/browse/IGNITE-12081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Pavlov updated IGNITE-12081: Labels: 2.7.6-rc0 (was: ) > 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 > Labels: 2.7.6-rc0 > Fix For: 2.7.6 > > Time Spent: 0.5h > Remaining Estimate: 0h > > 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 (v7.6.14#76016)
[jira] [Updated] (IGNITE-12081) Page replacement can reload invalid page during checkpoint
[ https://issues.apache.org/jira/browse/IGNITE-12081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Govorukhin updated IGNITE-12081: Reviewer: Dmitriy Pavlov > 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 (v7.6.14#76016)
[jira] [Updated] (IGNITE-12081) Page replacement can reload invalid page during checkpoint
[ 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 (v7.6.14#76016)