diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/lsm/lsm_manager.c')
-rw-r--r-- | src/third_party/wiredtiger/src/lsm/lsm_manager.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/src/third_party/wiredtiger/src/lsm/lsm_manager.c b/src/third_party/wiredtiger/src/lsm/lsm_manager.c index 943a5894ab3..a504acc361c 100644 --- a/src/third_party/wiredtiger/src/lsm/lsm_manager.c +++ b/src/third_party/wiredtiger/src/lsm/lsm_manager.c @@ -358,7 +358,7 @@ __lsm_manager_worker_shutdown(WT_SESSION_IMPL *session) */ for (i = 1; i < manager->lsm_workers; i++) { WT_ASSERT(session, manager->lsm_worker_cookies[i].tid != 0); - WT_TRET(__wt_cond_signal(session, manager->work_cond)); + __wt_cond_signal(session, manager->work_cond); WT_TRET(__wt_thread_join( session, manager->lsm_worker_cookies[i].tid)); } @@ -431,7 +431,7 @@ __lsm_manager_run_server(WT_SESSION_IMPL *session) session, WT_LSM_WORK_FLUSH, 0, lsm_tree)); WT_ERR(__wt_lsm_manager_push_entry( session, WT_LSM_WORK_BLOOM, 0, lsm_tree)); - WT_ERR(__wt_verbose(session, + __wt_verbose(session, WT_VERB_LSM_MANAGER, "MGR %s: queue %" PRIu32 " mod %d " "nchunks %" PRIu32 @@ -442,7 +442,7 @@ __lsm_manager_run_server(WT_SESSION_IMPL *session) lsm_tree->modified, lsm_tree->nchunks, lsm_tree->flags, lsm_tree->merge_aggressiveness, - pushms, fillms)); + pushms, fillms); WT_ERR(__wt_lsm_manager_push_entry( session, WT_LSM_WORK_MERGE, 0, lsm_tree)); } @@ -491,9 +491,8 @@ err: WT_PANIC_MSG(session, ret, "LSM worker manager thread error"); * introduces an inefficiency if LSM trees are being opened and closed * regularly. */ -int -__wt_lsm_manager_clear_tree( - WT_SESSION_IMPL *session, WT_LSM_TREE *lsm_tree) +void +__wt_lsm_manager_clear_tree(WT_SESSION_IMPL *session, WT_LSM_TREE *lsm_tree) { WT_LSM_MANAGER *manager; WT_LSM_WORK_UNIT *current, *next; @@ -541,7 +540,6 @@ __wt_lsm_manager_clear_tree( } __wt_spin_unlock(session, &manager->manager_lock); WT_STAT_FAST_CONN_INCRV(session, lsm_work_units_discarded, removed); - return (0); } /* @@ -617,10 +615,8 @@ int __wt_lsm_manager_push_entry(WT_SESSION_IMPL *session, uint32_t type, uint32_t flags, WT_LSM_TREE *lsm_tree) { - WT_DECL_RET; WT_LSM_MANAGER *manager; WT_LSM_WORK_UNIT *entry; - bool pushed; manager = &S2C(session)->lsm_manager; @@ -655,9 +651,8 @@ __wt_lsm_manager_push_entry(WT_SESSION_IMPL *session, return (0); } - pushed = false; - WT_ERR(__wt_epoch(session, &lsm_tree->work_push_ts)); - WT_ERR(__wt_calloc_one(session, &entry)); + WT_RET(__wt_epoch(session, &lsm_tree->work_push_ts)); + WT_RET(__wt_calloc_one(session, &entry)); entry->type = type; entry->flags = flags; entry->lsm_tree = lsm_tree; @@ -672,12 +667,7 @@ __wt_lsm_manager_push_entry(WT_SESSION_IMPL *session, else LSM_PUSH_ENTRY(&manager->appqh, &manager->app_lock, lsm_work_queue_app); - pushed = true; - WT_ERR(__wt_cond_signal(session, manager->work_cond)); + __wt_cond_signal(session, manager->work_cond); return (0); -err: - if (!pushed) - (void)__wt_atomic_sub32(&lsm_tree->queue_ref, 1); - return (ret); } |