summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/tenant_migration_shard_merge_util.cpp')
-rw-r--r--src/mongo/db/repl/tenant_migration_shard_merge_util.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp b/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
index 3d5deee7ce2..b683fe3aebf 100644
--- a/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
+++ b/src/mongo/db/repl/tenant_migration_shard_merge_util.cpp
@@ -176,9 +176,7 @@ void wiredTigerImportFromBackupCursor(OperationContext* opCtx,
invariant(db);
Lock::CollectionLock collLock(opCtx, nss, MODE_X);
auto catalog = CollectionCatalog::get(opCtx);
- // TODO SERVER-63789 Uncomment WriteUnitOfWork declaration below when we
- // make file import async.
- // WriteUnitOfWork wunit(opCtx);
+ WriteUnitOfWork wunit(opCtx);
AutoStatsTracker statsTracker(opCtx,
nss,
Top::LockType::NotLocked,
@@ -218,9 +216,8 @@ void wiredTigerImportFromBackupCursor(OperationContext* opCtx,
makeCountsChange(ownedCollection->getRecordStore(), collectionMetadata));
CollectionCatalog::get(opCtx)->onCreateCollection(opCtx, std::move(ownedCollection));
- // TODO SERVER-63789 Uncomment wunit.commit() call below when we
- // make file copy/import async.
- // wunit.commit();
+ wunit.commit();
+
LOGV2(6114300,
"Imported donor collection",
"ns"_attr = nss,
@@ -240,23 +237,25 @@ void cloneFile(OperationContext* opCtx, const BSONObj& metadataDoc) {
makeReplWriterPool(tenantApplierThreadCount, "TenantMigrationFileClonerWriter"_sd);
ON_BLOCK_EXIT([&] {
- client->shutdownAndDisallowReconnect();
-
+ if (client) {
+ client->shutdownAndDisallowReconnect();
+ }
writerPool->shutdown();
writerPool->join();
});
auto fileName = metadataDoc["filename"].str();
auto migrationId = UUID(uassertStatusOK(UUID::parse(metadataDoc[kMigrationIdFieldName])));
- LOGV2_DEBUG(6113320,
- 1,
- "Cloning file",
- "migrationId"_attr = migrationId,
- "metadata"_attr = metadataDoc);
auto backupId = UUID(uassertStatusOK(UUID::parse(metadataDoc[kBackupIdFieldName])));
auto remoteDbpath = metadataDoc["remoteDbpath"].str();
size_t fileSize = std::max(0ll, metadataDoc["fileSize"].safeNumberLong());
auto relativePath = _getPathRelativeTo(fileName, metadataDoc[kDonorDbPathFieldName].str());
+ LOGV2_DEBUG(6113320,
+ 1,
+ "Cloning file",
+ "migrationId"_attr = migrationId,
+ "metadata"_attr = metadataDoc,
+ "destinationRelativePath"_attr = relativePath);
invariant(!relativePath.empty());
// Connect the client.