diff options
author | Keith Bostic <keith@wiredtiger.com> | 2015-10-30 17:08:18 -0400 |
---|---|---|
committer | Keith Bostic <keith@wiredtiger.com> | 2015-10-30 17:08:18 -0400 |
commit | fcc9454ba20b0b75c1007c5411a6fc554c147a59 (patch) | |
tree | 673a080cd7d28280c4f00d86db16139d300699b1 /src | |
parent | 0818fc3f4f14c9d6d86cfbb92ffa203957d6ec2a (diff) | |
download | mongo-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.c | 19 |
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), |