summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2016-07-15 10:41:55 +1000
committerMichael Cahill <michael.cahill@mongodb.com>2016-07-29 16:08:16 +1000
commit6f81f197933493aa21f88eb58dad12bf1ebcd7ff (patch)
treec2a2c1f2786c3aba69c33cff14ad01b34fe43595
parent848e5f5c0bd836781b379f6ade56f16433bd3853 (diff)
downloadmongo-6f81f197933493aa21f88eb58dad12bf1ebcd7ff.tar.gz
SERVER-24971 Don't cache buffers after application eviction. (#2869)
(cherry picked from commit f98ecc9d7cb6a427eaed943f4e3f46eacdbac836)
-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 305b81fe69e..0d26c1a2a84 100644
--- a/src/evict/evict_page.c
+++ b/src/evict/evict_page.c
@@ -145,6 +145,18 @@ done: if (((inmem_split && ret == 0) || (forced_eviction && ret == EBUSY)) &&
WT_TRET(__wt_evict_server_wake(session));
}
+ /*
+ * 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);
}
/*