diff options
Diffstat (limited to 'src/mongo/db/s/migration_source_manager.cpp')
-rw-r--r-- | src/mongo/db/s/migration_source_manager.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mongo/db/s/migration_source_manager.cpp b/src/mongo/db/s/migration_source_manager.cpp index 3b98d03285b..a0368f6c262 100644 --- a/src/mongo/db/s/migration_source_manager.cpp +++ b/src/mongo/db/s/migration_source_manager.cpp @@ -143,6 +143,17 @@ std::shared_ptr<MigrationChunkClonerSource> MigrationSourceManager::getCurrentCl return msm->_cloneDriver; } +// static +bool MigrationSourceManager::isMigrating(OperationContext* opCtx, + NamespaceString const& nss, + BSONObj const& docToDelete) { + const auto scopedCsr = + CollectionShardingRuntime::assertCollectionLockedAndAcquireShared(opCtx, nss); + auto cloner = MigrationSourceManager::getCurrentCloner(*scopedCsr); + + return cloner && cloner->isDocumentInMigratingChunk(docToDelete); +} + MigrationSourceManager::MigrationSourceManager(OperationContext* opCtx, ShardsvrMoveRange&& request, WriteConcernOptions&& writeConcern, |