summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2016-07-15 10:41:55 +1000
committerAlex Gorrod <alexander.gorrod@mongodb.com>2016-07-15 10:41:55 +1000
commitf98ecc9d7cb6a427eaed943f4e3f46eacdbac836 (patch)
tree2384e0889f703d0c96c9087b5501b994fafe6289
parent11f018322c3f84552f2b1fe79f2ca9d6585577fb (diff)
downloadmongo-f98ecc9d7cb6a427eaed943f4e3f46eacdbac836.tar.gz
SERVER-24971 Don't cache buffers after application eviction. (#2869)
-rw-r--r--src/evict/evict_page.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/evict/evict_page.c b/src/evict/evict_page.c
index e661f27637e..370f1908636 100644
--- a/src/evict/evict_page.c
+++ b/src/evict/evict_page.c
@@ -187,6 +187,18 @@ err: if (!closing)
WT_STAT_FAST_DATA_INCR(session, cache_eviction_fail);
}
+ /*
+ * When application threads perform eviction, we don't want to cache
+ * reconciliation structures.
+ */
+ if (!F_ISSET(session, WT_SESSION_INTERNAL)) {
+ if (session->block_manager_cleanup != NULL)
+ WT_TRET(session->block_manager_cleanup(session));
+
+ if (session->reconcile_cleanup != NULL)
+ WT_TRET(session->reconcile_cleanup(session));
+ }
+
return (ret);
}