summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/include/btmem.h
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2019-08-16 14:54:16 +1000
committerLuke Chen <luke.chen@mongodb.com>2019-08-16 14:54:16 +1000
commitd622dc9a28c6abf602432d34af64f87887407caf (patch)
tree72ea75766b99e5a72391c8fa10e4f0dad9743f61 /src/third_party/wiredtiger/src/include/btmem.h
parent3d9d70be9f5c824997e08a6feddd2792064aa621 (diff)
downloadmongo-d622dc9a28c6abf602432d34af64f87887407caf.tar.gz
Import wiredtiger: 280c572c8097a322e429a349f73135266f3faacf from branch mongodb-4.2
ref: 1a1197ef3c..280c572c80 for: 4.2.1 WT-4344 Add more test cases for metadata salvage WT-4460 Optimize for in-order, non-overlapping modifications WT-4858 Add compatibility support for gcc-9 and clang-8 WT-4909 Fix potential code caching/re-ordering issue in __search_insert_append WT-4917 Fix test/format where truncate operations not correctly compared with previous updates WT-4946 Tighten up failure checks for cursor join WT-4956 Handle the case where 4 billion updates are made to a page without eviction WT-4957 Revert part of a change about when pages are queued for urgent eviction WT-4963 Add debugging for rare test hang WT-4965 Disable problematic eviction during checkpoints WT-5036 Fix test/format where tracking buffer wrap causes repeatable operation failure WT-5038 Prevent eviction of prepared updates during commit WT-5040 Add dumping of cursor's page on a mismatch WT-5050 Assertion failure during urgent eviction of metadata page WT-5054 Fix test/format bug where truncation operations could fail repeatable read testing
Diffstat (limited to 'src/third_party/wiredtiger/src/include/btmem.h')
-rw-r--r--src/third_party/wiredtiger/src/include/btmem.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/src/include/btmem.h b/src/third_party/wiredtiger/src/include/btmem.h
index a7c289a7b7f..03643f473e1 100644
--- a/src/third_party/wiredtiger/src/include/btmem.h
+++ b/src/third_party/wiredtiger/src/include/btmem.h
@@ -489,10 +489,21 @@ struct __wt_page_modify {
WT_SPINLOCK page_lock; /* Page's spinlock */
/*
- * The write generation is incremented when a page is modified, a page
- * is clean if the write generation is 0.
+ * The page state is incremented when a page is modified.
+ *
+ * WT_PAGE_CLEAN --
+ * The page is clean.
+ * WT_PAGE_DIRTY_FIRST --
+ * The page is in this state after the first operation that marks a
+ * page dirty, or when reconciliation is checking to see if it has
+ * done enough work to be able to mark the page clean.
+ * WT_PAGE_DIRTY --
+ * Two or more updates have been added to the page.
*/
- uint32_t write_gen;
+#define WT_PAGE_CLEAN 0
+#define WT_PAGE_DIRTY_FIRST 1
+#define WT_PAGE_DIRTY 2
+ uint32_t page_state;
#define WT_PM_REC_EMPTY 1 /* Reconciliation: no replacement */
#define WT_PM_REC_MULTIBLOCK 2 /* Reconciliation: multiple blocks */