summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2015-10-30 17:08:18 -0400
committerKeith Bostic <keith@wiredtiger.com>2015-10-30 17:08:18 -0400
commitfcc9454ba20b0b75c1007c5411a6fc554c147a59 (patch)
tree673a080cd7d28280c4f00d86db16139d300699b1 /src
parent0818fc3f4f14c9d6d86cfbb92ffa203957d6ec2a (diff)
downloadmongo-fcc9454ba20b0b75c1007c5411a6fc554c147a59.tar.gz
Don't interpret in-memory configurations as doing update/restore
reconciliation of the page (it's not useful, it's going to be true for every single reconciliation).
Diffstat (limited to 'src')
-rw-r--r--src/reconcile/rec_write.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/reconcile/rec_write.c b/src/reconcile/rec_write.c
index 7011706a272..a66c83b741b 100644
--- a/src/reconcile/rec_write.c
+++ b/src/reconcile/rec_write.c
@@ -3222,16 +3222,17 @@ supd_check_complete:
}
/*
- * If using the save/restore eviction path and we had to skip updates in
- * order to build this disk image, we can't actually write it. Instead,
- * we will re-instantiate the page using the disk image and the list of
- * updates we skipped.
- *
- * With an in-memory database, we always take this path.
+ * If configured for an in-memory database, or using the save/restore
+ * eviction path and we had to skip updates in order to build this disk
+ * image, we can't actually write it. Instead, we will re-instantiate
+ * the page using the disk image and any list of updates we skipped.
*/
- if ((F_ISSET(r, WT_EVICT_UPDATE_RESTORE) && bnd->supd != NULL) ||
- F_ISSET(r, WT_EVICT_IN_MEMORY)) {
- r->cache_write_restore = true;
+ if (F_ISSET(r, WT_EVICT_IN_MEMORY) ||
+ (F_ISSET(r, WT_EVICT_UPDATE_RESTORE) && bnd->supd != NULL)) {
+
+ /* Statistics tracking that we used update/restore. */
+ if (F_ISSET(r, WT_EVICT_UPDATE_RESTORE) && bnd->supd != NULL)
+ r->cache_write_restore = true;
/*
* If the buffer is compressed (raw compression was configured),