diff options
author | Michael Cahill <michael.cahill@mongodb.com> | 2016-07-15 10:41:55 +1000 |
---|---|---|
committer | Michael Cahill <michael.cahill@mongodb.com> | 2016-07-29 16:08:16 +1000 |
commit | 6f81f197933493aa21f88eb58dad12bf1ebcd7ff (patch) | |
tree | c2a2c1f2786c3aba69c33cff14ad01b34fe43595 | |
parent | 848e5f5c0bd836781b379f6ade56f16433bd3853 (diff) | |
download | mongo-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.c | 12 |
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); } /* |