diff options
author | Benety Goh <benety@mongodb.com> | 2019-10-23 00:13:21 +0000 |
---|---|---|
committer | evergreen <evergreen@mongodb.com> | 2019-10-23 00:13:21 +0000 |
commit | e06784e4e65a1e11b10adc3741f1136c2b002c8b (patch) | |
tree | 502c14caea730aa24289bf38d8c5dc3a2f143583 | |
parent | 06536b49a98e2e4fe35d023a561e7c1c47994e3a (diff) | |
download | mongo-e06784e4e65a1e11b10adc3741f1136c2b002c8b.tar.gz |
SERVER-44121 IndexBuildInterceptor::drainWritesIntoIndex() accepts drain yield policy
-rw-r--r-- | src/mongo/db/catalog/multi_index_block.cpp | 3 | ||||
-rw-r--r-- | src/mongo/db/index/index_build_interceptor.cpp | 3 | ||||
-rw-r--r-- | src/mongo/db/index/index_build_interceptor.h | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/mongo/db/catalog/multi_index_block.cpp b/src/mongo/db/catalog/multi_index_block.cpp index d021b9bad74..0b1cdb0976b 100644 --- a/src/mongo/db/catalog/multi_index_block.cpp +++ b/src/mongo/db/catalog/multi_index_block.cpp @@ -699,7 +699,8 @@ Status MultiIndexBlock::drainBackgroundWrites( if (!interceptor) continue; - auto status = interceptor->drainWritesIntoIndex(opCtx, _indexes[i].options, readSource); + auto status = interceptor->drainWritesIntoIndex( + opCtx, _indexes[i].options, readSource, drainYieldPolicy); if (!status.isOK()) { return status; } diff --git a/src/mongo/db/index/index_build_interceptor.cpp b/src/mongo/db/index/index_build_interceptor.cpp index 00d7b9e444e..fecbc5974ca 100644 --- a/src/mongo/db/index/index_build_interceptor.cpp +++ b/src/mongo/db/index/index_build_interceptor.cpp @@ -125,7 +125,8 @@ const std::string& IndexBuildInterceptor::getConstraintViolationsTableIdent() co Status IndexBuildInterceptor::drainWritesIntoIndex(OperationContext* opCtx, const InsertDeleteOptions& options, - RecoveryUnit::ReadSource readSource) { + RecoveryUnit::ReadSource readSource, + DrainYieldPolicy drainYieldPolicy) { invariant(!opCtx->lockState()->inAWriteUnitOfWork()); // Reading at a timestamp during hybrid index builds is not supported. invariant(readSource == RecoveryUnit::ReadSource::kUnset); diff --git a/src/mongo/db/index/index_build_interceptor.h b/src/mongo/db/index/index_build_interceptor.h index c900a02ba34..c41e7267580 100644 --- a/src/mongo/db/index/index_build_interceptor.h +++ b/src/mongo/db/index/index_build_interceptor.h @@ -117,7 +117,8 @@ public: */ Status drainWritesIntoIndex(OperationContext* opCtx, const InsertDeleteOptions& options, - RecoveryUnit::ReadSource readSource); + RecoveryUnit::ReadSource readSource, + DrainYieldPolicy drainYieldPolicy); /** * Returns 'true' if there are no visible records remaining to be applied from the side writes |