summaryrefslogtreecommitdiff
path: root/src/include/txn.h
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@wiredtiger.com>2014-04-10 16:03:39 +1000
committerMichael Cahill <michael.cahill@wiredtiger.com>2014-04-10 16:03:39 +1000
commit3593e80a1e5004f71a348e070c4ca590b2c2b577 (patch)
treedc6a79c3c05d1274a8de70124d54f347b8789530 /src/include/txn.h
parent894d383fc6b560628c558c904ec01fa25088ccfb (diff)
downloadmongo-3593e80a1e5004f71a348e070c4ca590b2c2b577.tar.gz
Maintain a checkpoint generation in each modified page, so that application threads can evict dirty pages "ahead" of a checkpoint.
Diffstat (limited to 'src/include/txn.h')
-rw-r--r--src/include/txn.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/include/txn.h b/src/include/txn.h
index 9acd56db78b..51063b59f04 100644
--- a/src/include/txn.h
+++ b/src/include/txn.h
@@ -49,7 +49,14 @@ struct __wt_txn_global {
/*
* The transaction ID of a running checkpoint transaction (if any).
*/
- uint64_t checkpoint_txn;
+ WT_SESSION_IMPL *checkpoint_session;
+
+ /*
+ * The current checkpoint generation. Use a 32-bit count for now: if
+ * we can do 4 billion checkpoints without a restart, we'll be in good
+ * shape.
+ */
+ uint32_t checkpoint_gen;
/* Count of scanning threads, or -1 for exclusive access. */
volatile int32_t scan_count;