summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/session/session_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/session/session_api.c')
-rw-r--r--src/third_party/wiredtiger/src/session/session_api.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/session/session_api.c b/src/third_party/wiredtiger/src/session/session_api.c
index d3540cb1dab..cc32766c9dc 100644
--- a/src/third_party/wiredtiger/src/session/session_api.c
+++ b/src/third_party/wiredtiger/src/session/session_api.c
@@ -1992,11 +1992,14 @@ __wt_open_internal_session(WT_CONNECTION_IMPL *conn, const char *name,
F_SET(session, session_flags | WT_SESSION_INTERNAL);
/*
+ * Optionally acquire a lookaside table cursor (or clear caller's flag).
* Acquiring the lookaside table cursor requires various locks; we've
* seen problems in the past where deadlocks happened because sessions
* deadlocked getting the cursor late in the process. Be defensive,
* get it now.
*/
+ if (!F_ISSET(conn, WT_CONN_LAS_OPEN))
+ F_CLR(session, WT_SESSION_LOOKASIDE_CURSOR);
if (F_ISSET(session, WT_SESSION_LOOKASIDE_CURSOR) &&
(ret = __wt_las_cursor_open(session, &session->las_cursor)) != 0) {
wt_session = &session->iface;