diff options
author | Lingzhi Deng <lingzhi.deng@mongodb.com> | 2021-06-29 17:15:36 +0000 |
---|---|---|
committer | Lingzhi Deng <lingzhi.deng@mongodb.com> | 2021-07-13 20:51:15 -0400 |
commit | 3e8b8bbf8fd4243d9b7e81fbb569d492da05628a (patch) | |
tree | e8da47979cbfb96bfffbde0d719b3c603f611206 | |
parent | 92662765968eff784a82adea2f57ee5d1125712d (diff) | |
download | mongo-3e8b8bbf8fd4243d9b7e81fbb569d492da05628a.tar.gz |
SERVER-58142: TenantOplogBatcher should transition to complete when the next batch callback is called with error status
(cherry picked from commit 683e75145e2599b7f559c944635a886d058f3bcf)
-rw-r--r-- | src/mongo/db/repl/tenant_oplog_batcher.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/repl/tenant_oplog_batcher.cpp b/src/mongo/db/repl/tenant_oplog_batcher.cpp index 5635f0ce339..e0d7539fcf6 100644 --- a/src/mongo/db/repl/tenant_oplog_batcher.cpp +++ b/src/mongo/db/repl/tenant_oplog_batcher.cpp @@ -210,7 +210,12 @@ SemiFuture<TenantOplogBatch> TenantOplogBatcher::_scheduleNextBatch(WithLock, Ba _executor->scheduleWork([this, limits, taskCompletionPromise, self = shared_from_this()]( const executor::TaskExecutor::CallbackArgs& args) { if (!args.status.isOK()) { + stdx::lock_guard lk(_mutex); + _batchRequested = false; taskCompletionPromise->setError(args.status); + if (_isShuttingDown_inlock()) { + _transitionToComplete_inlock(); + } return; } |