Skip to content

IGNITE-12048 Bugs & tests fixes#6756

Closed
dgovorukhin wants to merge 7 commits intoapache:masterfrom
gridgain:ignite-12048
Closed

IGNITE-12048 Bugs & tests fixes#6756
dgovorukhin wants to merge 7 commits intoapache:masterfrom
gridgain:ignite-12048

Conversation

@dgovorukhin
Copy link
Copy Markdown
Contributor

No description provided.

stevenchen3 pushed a commit to stevenchen3/ignite that referenced this pull request Aug 9, 2019
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:

checkpointer.wakeupForCheckpoint(0, "too many dirty pages").cpBeginFut
    .getUninterruptibly();
It looks like wakeupForCheckpoint can be called after the checkpointer is stopped and cpBeginFut will be never completed.

Fixed ZookeeperDiscoveryCommunicationFailureTest.testCommunicationFailureResolve_CachesInfo1

Fixed  *.testFailAfterStart

Reduce test time execution (scale factor for a long-running tests)
@dspavlov
Copy link
Copy Markdown
Contributor

IGNITE-12048 Resolved

@dspavlov dspavlov closed this Aug 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants