Skip to content

Commit

Permalink
WT-2074: Exempt files that aren't checkpointed from the eviction test
Browse files Browse the repository at this point in the history
whether or not a running checkpoint blocks using the lookaside file.

This isn't necessary at the moment: the only file not checkpointed is
the lookaside table, and you can't write records from the lookaside
table into the lookaside table (reconciliation checks and blocks it),
but it's the right test for the future.
  • Loading branch information
keithbostic committed Aug 31, 2015
1 parent 0c547cd commit 46331aa
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions src/evict/evict_page.c
Expand Up @@ -400,13 +400,14 @@ __evict_review(
* Running checkpoints can prevent this solution because reconciliation
* using the lookaside table writes a key's last committed value, which
* might not be the value checkpoint would write. It's sufficient to
* know a checkpoint isn't running at this instant (or is running but
* has finished with this file), any future checkpoint must include all
* committed modifications from this page, which is what reconciliation
* will write.
* know a checkpoint isn't running at this instant (or is running, but
* either has finished with, or doesn't care about, this file), future
* checkpoints must include all committed modifications from this page,
* which is what reconciliation will write.
*/
if (!closing && __wt_eviction_aggressive(session) &&
btree->checkpoint_gen == S2C(session)->txn_global.checkpoint_gen)
(F_ISSET(btree, WT_BTREE_NO_CHECKPOINT) ||
btree->checkpoint_gen == S2C(session)->txn_global.checkpoint_gen))
LF_SET(WT_EVICT_LOOKASIDE);

WT_RET(__wt_reconcile(session, ref, NULL, flags));
Expand Down

0 comments on commit 46331aa

Please sign in to comment.