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-12048) Bugs & tests fixes
Date Wed, 07 Aug 2019 11:51:00 GMT
Dmitriy Govorukhin created IGNITE-12048:
-------------------------------------------

             Summary: Bugs & tests fixes
                 Key: IGNITE-12048
                 URL: https://issues.apache.org/jira/browse/IGNITE-12048
             Project: Ignite
          Issue Type: Bug
            Reporter: Dmitriy Govorukhin


Page replacement can reload invalid page during checkpoint

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.

-----

checkpointReadLock() may hang during node stop

I got this hang during one of PDS (Indexing) runs (thread-dump is attached). 
The following code hang:
{code:java}
checkpointer.wakeupForCheckpoint(0, "too many dirty pages").cpBeginFut
    .getUninterruptibly();
{code}
It looks like {{wakeupForCheckpoint}} can be called after the checkpointer is stopped and {{cpBeginFut}} will
be never completed.
----
-----

Fixed ZookeeperDiscoveryCommunicationFailureTest.testCommunicationFailureResolve_CachesInfo1

Fixed  *.testFailAfterStart



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Mime
View raw message