summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/lsm/lsm_cursor.c
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@mongodb.com>2016-11-16 21:10:29 +1100
committerMichael Cahill <michael.cahill@mongodb.com>2016-11-16 21:10:29 +1100
commitfb4ae3792065e98696e391ac1c4602216b8502cb (patch)
tree7d6ab84b45c4eb26bbe59e73a3950e9aa2233f41 /src/third_party/wiredtiger/src/lsm/lsm_cursor.c
parent6904d0ac5ea4bba1822103eb4e7a623cc81de641 (diff)
downloadmongo-fb4ae3792065e98696e391ac1c4602216b8502cb.tar.gz
Import wiredtiger: ca6eee06ffdacc8e191987e64b3791740dad21e1 from branch mongodb-3.4
ref: 74430da40c..ca6eee06ff for: 3.4.0 WT-2962 Provide a way to configure builtin extensions WT-2984 Search of metadata for recently created collection gets WT_NOTFOUND WT-3000 Missing log records in recovery when crashing after a log file switch WT-3002 Allow applications to exempt threads from eviction. WT-3004 lint: declare functions that don't return a value as void WT-3011 __wt_curjoin_open() saves the wrong URI in the cursor. WT-3012 Test format hanging on LSM configurations WT-3015 Test format stuck with 2mb cache WT-3016 Tests needed for systems without ftruncate WT-3017 Hazard pointer race with page replace causes error WT-3018 lint WT-3020 LSM primary changes impact parallel-pop-lsm load time WT-3022 LSM operations get stuck in __wt_clsm_await_switch waiting for switch on tree to complete WT-3023 Test format hang on zSeries WT-3024 wtperf medium-lsm-compact test can hang
Diffstat (limited to 'src/third_party/wiredtiger/src/lsm/lsm_cursor.c')
-rw-r--r--src/third_party/wiredtiger/src/lsm/lsm_cursor.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/third_party/wiredtiger/src/lsm/lsm_cursor.c b/src/third_party/wiredtiger/src/lsm/lsm_cursor.c
index c20673563d9..9c124885086 100644
--- a/src/third_party/wiredtiger/src/lsm/lsm_cursor.c
+++ b/src/third_party/wiredtiger/src/lsm/lsm_cursor.c
@@ -34,7 +34,7 @@ __wt_clsm_request_switch(WT_CURSOR_LSM *clsm)
lsm_tree = clsm->lsm_tree;
session = (WT_SESSION_IMPL *)clsm->iface.session;
- if (!F_ISSET(lsm_tree, WT_LSM_TREE_NEED_SWITCH)) {
+ if (!lsm_tree->need_switch) {
/*
* Check that we are up-to-date: don't set the switch if the
* tree has changed since we last opened cursors: that can lead
@@ -44,8 +44,8 @@ __wt_clsm_request_switch(WT_CURSOR_LSM *clsm)
__wt_lsm_tree_readlock(session, lsm_tree);
if (lsm_tree->nchunks == 0 ||
(clsm->dsk_gen == lsm_tree->dsk_gen &&
- !F_ISSET(lsm_tree, WT_LSM_TREE_NEED_SWITCH))) {
- F_SET(lsm_tree, WT_LSM_TREE_NEED_SWITCH);
+ !lsm_tree->need_switch)) {
+ lsm_tree->need_switch = true;
ret = __wt_lsm_manager_push_entry(
session, WT_LSM_WORK_SWITCH, 0, lsm_tree);
}
@@ -129,7 +129,7 @@ __clsm_enter_update(WT_CURSOR_LSM *clsm)
* chunk grows twice as large as the configured size, block until it
* can be switched.
*/
- hard_limit = F_ISSET(lsm_tree, WT_LSM_TREE_NEED_SWITCH);
+ hard_limit = lsm_tree->need_switch;
if (have_primary) {
WT_ENTER_PAGE_INDEX(session);
@@ -215,7 +215,7 @@ __clsm_enter(WT_CURSOR_LSM *clsm, bool reset, bool update)
goto open;
if (txn->isolation == WT_ISO_SNAPSHOT)
- WT_RET(__wt_txn_cursor_op(session));
+ __wt_txn_cursor_op(session);
/*
* Figure out how many updates are required for
@@ -700,7 +700,7 @@ retry: if (F_ISSET(clsm, WT_CLSM_MERGE)) {
if (btree->bulk_load_ok) {
btree->bulk_load_ok = false;
WT_WITH_BTREE(session, btree,
- __wt_btree_evictable(session, false));
+ __wt_btree_lsm_switch_primary(session, true));
}
}