diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/txn/txn_ckpt.c')
-rw-r--r-- | src/third_party/wiredtiger/src/txn/txn_ckpt.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/third_party/wiredtiger/src/txn/txn_ckpt.c b/src/third_party/wiredtiger/src/txn/txn_ckpt.c index 2855993e120..a763773bde8 100644 --- a/src/third_party/wiredtiger/src/txn/txn_ckpt.c +++ b/src/third_party/wiredtiger/src/txn/txn_ckpt.c @@ -1152,10 +1152,12 @@ err: static int __txn_checkpoint_wrapper(WT_SESSION_IMPL *session, const char *cfg[]) { + WT_CONNECTION_IMPL *conn; WT_DECL_RET; WT_TXN_GLOBAL *txn_global; - txn_global = &S2C(session)->txn_global; + conn = S2C(session); + txn_global = &conn->txn_global; WT_STAT_CONN_SET(session, txn_checkpoint_running, 1); txn_global->checkpoint_running = true; @@ -1165,6 +1167,15 @@ __txn_checkpoint_wrapper(WT_SESSION_IMPL *session, const char *cfg[]) WT_STAT_CONN_SET(session, txn_checkpoint_running, 0); txn_global->checkpoint_running = false; + /* + * Signal the tiered storage thread because it waits for the following checkpoint to complete to + * process flush units. Indicate that the checkpoint has completed. + */ + if (conn->tiered_cond != NULL) { + conn->flush_ckpt_complete = true; + __wt_cond_signal(session, conn->tiered_cond); + } + return (ret); } |