summaryrefslogtreecommitdiff
path: root/src/conn/conn_open.c
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2015-07-24 07:56:47 -0400
committerKeith Bostic <keith@wiredtiger.com>2015-07-24 07:56:47 -0400
commita44fc005de481f094a02b2859545206363d4563b (patch)
tree9e1ab50efbf7091961c7d4a1dc96d8032db044b2 /src/conn/conn_open.c
parent9a424bfd105c78c52d906c42e6f2a0cfb33470e6 (diff)
downloadmongo-a44fc005de481f094a02b2859545206363d4563b.tar.gz
Don't close the lookaside file until eviction is finished, I keep racing
with eviction writing blocks after the lookaside cursor is closed.
Diffstat (limited to 'src/conn/conn_open.c')
-rw-r--r--src/conn/conn_open.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/conn/conn_open.c b/src/conn/conn_open.c
index d890417803c..fdb6cfcaaba 100644
--- a/src/conn/conn_open.c
+++ b/src/conn/conn_open.c
@@ -109,7 +109,6 @@ __wt_connection_close(WT_CONNECTION_IMPL *conn)
*/
F_CLR(conn, WT_CONN_SERVER_RUN);
WT_TRET(__wt_async_destroy(session));
- WT_TRET(__wt_las_destroy(session));
WT_TRET(__wt_lsm_manager_destroy(session));
F_SET(conn, WT_CONN_CLOSING);
@@ -119,6 +118,9 @@ __wt_connection_close(WT_CONNECTION_IMPL *conn)
WT_TRET(__wt_sweep_destroy(session));
WT_TRET(__wt_evict_destroy(session));
+ /* Close the lookaside file cursors, after all eviction is complete. */
+ WT_TRET(__wt_las_destroy(session));
+
/* Close open data handles. */
WT_TRET(__wt_conn_dhandle_discard(session));