summaryrefslogtreecommitdiff
path: root/src/btree/bt_delete.c
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2014-04-10 10:41:11 -0400
committerKeith Bostic <keith@wiredtiger.com>2014-04-10 10:41:11 -0400
commit6e87148a093dc8c749219bf02ec004f1b2e5ce11 (patch)
tree512faad3750452f7eca4710624ba563941bbbfc4 /src/btree/bt_delete.c
parent7980b479e7a034ff9ac7d112c47d7e9ac0e6be32 (diff)
downloadmongo-6e87148a093dc8c749219bf02ec004f1b2e5ce11.tar.gz
Add another comment, about "deleted" pages that came about through eviction.
Diffstat (limited to 'src/btree/bt_delete.c')
-rw-r--r--src/btree/bt_delete.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/btree/bt_delete.c b/src/btree/bt_delete.c
index 2b87f41c71d..ae184ec4de4 100644
--- a/src/btree/bt_delete.c
+++ b/src/btree/bt_delete.c
@@ -46,6 +46,13 @@
* stored in the WT_REF.page_del field, with the transaction ID, that way the
* session unrolling the delete can find all of the WT_UPDATE structures that
* require update.
+ *
+ * One final note: pages can also be marked deleted if emptied and evicted. In
+ * that case, the WT_REF state will be set to WT_REF_DELETED but there will not
+ * be any associated WT_REF.page_del field. These pages are always skipped
+ * during cursor traversal (the page could not have been evicted if there were
+ * updates that weren't globally visible), and if read is forced to instantiate
+ * such a page, it simply creates an empty page from scratch.
*/
/*