summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl
diff options
context:
space:
mode:
authorjannaerin <golden.janna@gmail.com>2023-02-21 23:06:04 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-02-26 22:02:09 +0000
commit728500f59d1a6be4fd95b8ffa7d3c7dd122b25be (patch)
tree4cdad6c26d4ab2290e18cf77f11824a1d0144ac6 /src/mongo/db/repl
parent4fa82ec65ce017b254a14cecafb0ac97bdcb141e (diff)
downloadmongo-728500f59d1a6be4fd95b8ffa7d3c7dd122b25be.tar.gz
SERVER-73112 Avoid constructing global namespaces directly
Diffstat (limited to 'src/mongo/db/repl')
-rw-r--r--src/mongo/db/repl/all_database_cloner.cpp4
-rw-r--r--src/mongo/db/repl/initial_syncer_test.cpp4
-rw-r--r--src/mongo/db/repl/oplog_batcher_test_fixture.cpp6
-rw-r--r--src/mongo/db/repl/replication_coordinator_external_state_impl.cpp10
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl.cpp3
-rw-r--r--src/mongo/db/repl/rollback_impl_test.cpp2
-rw-r--r--src/mongo/db/repl/sync_source_resolver.cpp11
-rw-r--r--src/mongo/db/repl/sync_source_resolver.h1
-rw-r--r--src/mongo/db/repl/sync_source_resolver_test.cpp10
-rw-r--r--src/mongo/db/repl/tenant_file_cloner.cpp3
-rw-r--r--src/mongo/db/repl/tenant_file_importer_service.cpp2
-rw-r--r--src/mongo/db/repl/tenant_migration_access_blocker_util_test.cpp4
-rw-r--r--src/mongo/db/repl/tenant_migration_donor_service.cpp4
-rw-r--r--src/mongo/db/repl/tenant_migration_recipient_service.cpp7
-rw-r--r--src/mongo/db/repl/tenant_migration_recipient_service_shard_merge_test.cpp9
-rw-r--r--src/mongo/db/repl/tenant_migration_shard_merge_util.h3
16 files changed, 35 insertions, 48 deletions
diff --git a/src/mongo/db/repl/all_database_cloner.cpp b/src/mongo/db/repl/all_database_cloner.cpp
index 399ad24f608..7bfa4fd4a43 100644
--- a/src/mongo/db/repl/all_database_cloner.cpp
+++ b/src/mongo/db/repl/all_database_cloner.cpp
@@ -322,9 +322,9 @@ void AllDatabaseCloner::postStage() {
if (!foundAuthSchemaDoc && foundUser) {
std::string msg = str::stream()
<< "During initial sync, found documents in "
- << AuthorizationManager::usersCollectionNamespace.ns()
+ << NamespaceString::kAdminUsersNamespace.ns()
<< " but could not find an auth schema version document in "
- << AuthorizationManager::versionCollectionNamespace.ns() << ". "
+ << NamespaceString::kServerConfigurationNamespace.ns() << ". "
<< "This indicates that the primary of this replica set was not "
"successfully "
"upgraded to schema version "
diff --git a/src/mongo/db/repl/initial_syncer_test.cpp b/src/mongo/db/repl/initial_syncer_test.cpp
index 0af8f3d03e5..df015013477 100644
--- a/src/mongo/db/repl/initial_syncer_test.cpp
+++ b/src/mongo/db/repl/initial_syncer_test.cpp
@@ -1308,7 +1308,7 @@ TEST_F(InitialSyncerTest, InitialSyncerPassesThroughDefaultBeginFetchingOpTimeSc
ASSERT_EQUALS(ErrorCodes::OperationFailed, _lastApplied);
ASSERT_EQUALS(syncSource, request.target);
- ASSERT_EQUALS(NamespaceString::kLocalDb, request.dbname);
+ ASSERT_EQUALS(DatabaseName::kLocal.db(), request.dbname);
assertRemoteCommandNameEquals("find", request);
}
@@ -1397,7 +1397,7 @@ TEST_F(InitialSyncerTest, InitialSyncerPassesThroughGetBeginFetchingOpTimeSchedu
ASSERT_EQUALS(ErrorCodes::OperationFailed, _lastApplied);
ASSERT_EQUALS(syncSource, request.target);
- ASSERT_EQUALS(NamespaceString::kConfigDb, request.dbname);
+ ASSERT_EQUALS(DatabaseName::kConfig.db(), request.dbname);
assertRemoteCommandNameEquals("find", request);
}
diff --git a/src/mongo/db/repl/oplog_batcher_test_fixture.cpp b/src/mongo/db/repl/oplog_batcher_test_fixture.cpp
index e62e07bbae7..5bb859ceea4 100644
--- a/src/mongo/db/repl/oplog_batcher_test_fixture.cpp
+++ b/src/mongo/db/repl/oplog_batcher_test_fixture.cpp
@@ -255,8 +255,7 @@ OplogEntry makeNoopOplogEntry(int t, const StringData& msg) {
* Generates an applyOps oplog entry with the given number used for the timestamp.
*/
OplogEntry makeApplyOpsOplogEntry(int t, bool prepare, const std::vector<OplogEntry>& innerOps) {
- auto nss =
- NamespaceString::createNamespaceString_forTest(NamespaceString::kAdminDb).getCommandNS();
+ auto nss = NamespaceString::createNamespaceString_forTest(DatabaseName::kAdmin).getCommandNS();
BSONObjBuilder oField;
BSONArrayBuilder applyOpsBuilder = oField.subarrayStart("applyOps");
for (const auto& op : innerOps) {
@@ -338,8 +337,7 @@ OplogEntry makeLargeTransactionOplogEntries(int t,
int count,
const std::vector<OplogEntry> innerOps) {
// TODO SERVER-62491: Replace TenantId with kSystemTenantId.
- auto nss =
- NamespaceString::createNamespaceString_forTest(NamespaceString::kAdminDb).getCommandNS();
+ auto nss = NamespaceString::createNamespaceString_forTest(DatabaseName::kAdmin).getCommandNS();
OpTime prevWriteOpTime = isFirst ? OpTime() : OpTime(Timestamp(t - 1, 1), 1);
BSONObj oField;
if (isLast && prepared) {
diff --git a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
index eaa99483a56..c092a77fe96 100644
--- a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
+++ b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
@@ -135,8 +135,6 @@ namespace repl {
namespace {
const char kLocalDbName[] = "local";
-// TODO SERVER-62491 Use SystemTenantId
-const DatabaseName kConfigDatabaseName{boost::none, kLocalDbName};
MONGO_FAIL_POINT_DEFINE(dropPendingCollectionReaperHang);
@@ -1128,7 +1126,7 @@ void ReplicationCoordinatorExternalStateImpl::_dropAllTempCollections(OperationC
for (const auto& dbName : dbNames) {
// The local db is special because it isn't replicated. It is cleared at startup even on
// replica set members.
- if (dbName.db() == NamespaceString::kLocalDb)
+ if (dbName == DatabaseName::kLocal)
continue;
LOGV2_DEBUG(21309,
@@ -1288,14 +1286,12 @@ bool ReplicationCoordinatorExternalStateImpl::isShardPartOfShardedCluster(
bool ReplicationCoordinatorExternalStateImpl::isCWWCSetOnConfigShard(
OperationContext* opCtx) const {
GetDefaultRWConcern configsvrRequest;
- // Empty tenant id is acceptable here as command's tenant id will not be serialized to BSON.
- // TODO SERVER-62491: Use system tenant id.
- configsvrRequest.setDbName(DatabaseName(boost::none, NamespaceString::kAdminDb));
+ configsvrRequest.setDbName(DatabaseName::kAdmin);
auto cmdResponse = uassertStatusOK(
Grid::get(opCtx)->shardRegistry()->getConfigShard()->runCommandWithFixedRetryAttempts(
opCtx,
ReadPreferenceSetting(ReadPreference::PrimaryOnly),
- NamespaceString::kAdminDb.toString(),
+ DatabaseName::kAdmin.toString(),
configsvrRequest.toBSON({}),
Shard::RetryPolicy::kIdempotent));
diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp
index e82a78da920..3d609a39c19 100644
--- a/src/mongo/db/repl/replication_coordinator_impl.cpp
+++ b/src/mongo/db/repl/replication_coordinator_impl.cpp
@@ -4237,8 +4237,7 @@ void ReplicationCoordinatorImpl::_reconfigToRemoveNewlyAddedField(
"An automatic reconfig. Used to remove a 'newlyAdded' config field for a "
"replica set member.");
curOp->setOpDescription_inlock(bob.obj());
- // TODO SERVER-62491 Use systemTenantId.
- curOp->setNS_inlock(NamespaceString(boost::none, "local.system.replset"));
+ curOp->setNS_inlock(NamespaceString::kSystemReplSetNamespace);
curOp->ensureStarted();
}
diff --git a/src/mongo/db/repl/rollback_impl_test.cpp b/src/mongo/db/repl/rollback_impl_test.cpp
index 1da4b0b2f47..bafd638b045 100644
--- a/src/mongo/db/repl/rollback_impl_test.cpp
+++ b/src/mongo/db/repl/rollback_impl_test.cpp
@@ -1495,7 +1495,7 @@ RollbackImplTest::_setUpUnpreparedTransactionForCountTest(UUID collId) {
ASSERT_OK(_insertOplogEntry(insertOp1.first));
// Common field values for applyOps oplog entries.
- auto adminCmdNss = NamespaceString(NamespaceString::kAdminDb).getCommandNS();
+ auto adminCmdNss = NamespaceString(DatabaseName::kAdmin).getCommandNS();
OperationSessionInfo sessionInfo;
sessionInfo.setSessionId(makeLogicalSessionId(_opCtx.get()));
sessionInfo.setTxnNumber(1);
diff --git a/src/mongo/db/repl/sync_source_resolver.cpp b/src/mongo/db/repl/sync_source_resolver.cpp
index d870eed5bc9..8460ce006d4 100644
--- a/src/mongo/db/repl/sync_source_resolver.cpp
+++ b/src/mongo/db/repl/sync_source_resolver.cpp
@@ -49,7 +49,6 @@
namespace mongo {
namespace repl {
-const NamespaceString SyncSourceResolver::kLocalOplogNss("local.oplog.rs");
const Seconds SyncSourceResolver::kFetcherTimeout(30);
const Seconds SyncSourceResolver::kFetcherErrorDenylistDuration(10);
const Seconds SyncSourceResolver::kOplogEmptyDenylistDuration(10);
@@ -169,9 +168,9 @@ std::unique_ptr<Fetcher> SyncSourceResolver::_makeFirstOplogEntryFetcher(
return std::make_unique<Fetcher>(
_taskExecutor,
candidate,
- kLocalOplogNss.db().toString(),
- BSON("find" << kLocalOplogNss.coll() << "limit" << 1 << "sort" << BSON("$natural" << 1)
- << "projection"
+ NamespaceString::kRsOplogNamespace.dbName().db(),
+ BSON("find" << NamespaceString::kRsOplogNamespace.coll() << "limit" << 1 << "sort"
+ << BSON("$natural" << 1) << "projection"
<< BSON(OplogEntryBase::kTimestampFieldName
<< 1 << OplogEntryBase::kTermFieldName << 1)
<< ReadConcernArgs::kReadConcernFieldName << ReadConcernArgs::kLocal),
@@ -194,8 +193,8 @@ std::unique_ptr<Fetcher> SyncSourceResolver::_makeRequiredOpTimeFetcher(HostAndP
return std::make_unique<Fetcher>(
_taskExecutor,
candidate,
- kLocalOplogNss.db().toString(),
- BSON("find" << kLocalOplogNss.coll() << "filter"
+ NamespaceString::kRsOplogNamespace.dbName().db(),
+ BSON("find" << NamespaceString::kRsOplogNamespace.coll() << "filter"
<< BSON("ts" << BSON("$gte" << _requiredOpTime.getTimestamp() << "$lte"
<< _requiredOpTime.getTimestamp()))
<< ReadConcernArgs::kReadConcernFieldName << ReadConcernArgs::kLocal),
diff --git a/src/mongo/db/repl/sync_source_resolver.h b/src/mongo/db/repl/sync_source_resolver.h
index 7a5189dc4e7..d7d86d4c4f0 100644
--- a/src/mongo/db/repl/sync_source_resolver.h
+++ b/src/mongo/db/repl/sync_source_resolver.h
@@ -97,7 +97,6 @@ struct SyncSourceResolverResponse {
*/
class SyncSourceResolver {
public:
- static const NamespaceString kLocalOplogNss;
static const Seconds kFetcherTimeout;
static const Seconds kFetcherErrorDenylistDuration;
static const Seconds kOplogEmptyDenylistDuration;
diff --git a/src/mongo/db/repl/sync_source_resolver_test.cpp b/src/mongo/db/repl/sync_source_resolver_test.cpp
index b1eec4d4feb..6905e0d1d9f 100644
--- a/src/mongo/db/repl/sync_source_resolver_test.cpp
+++ b/src/mongo/db/repl/sync_source_resolver_test.cpp
@@ -300,11 +300,11 @@ void _scheduleFirstOplogEntryFetcherResponse(executor::NetworkInterfaceMock* net
ASSERT_TRUE(net->hasReadyRequests());
auto request = net->scheduleSuccessfulResponse(makeCursorResponse(0, nss, docs));
ASSERT_EQUALS(currentSyncSource, request.target);
- ASSERT_EQUALS(SyncSourceResolver::kLocalOplogNss.db(), request.dbname);
+ ASSERT_EQUALS(NamespaceString::kRsOplogNamespace.db(), request.dbname);
ASSERT_EQUALS(SyncSourceResolver::kFetcherTimeout, request.timeout);
auto firstElement = request.cmdObj.firstElement();
ASSERT_EQUALS("find"_sd, firstElement.fieldNameStringData());
- ASSERT_EQUALS(SyncSourceResolver::kLocalOplogNss.coll(), firstElement.String());
+ ASSERT_EQUALS(NamespaceString::kRsOplogNamespace.coll(), firstElement.String());
ASSERT_EQUALS(1, request.cmdObj.getIntField("limit"));
ASSERT_BSONOBJ_EQ(BSON("$natural" << 1), request.cmdObj.getObjectField("sort"));
@@ -681,11 +681,11 @@ void _scheduleRequiredOpTimeFetcherResponse(executor::NetworkInterfaceMock* net,
ASSERT_TRUE(net->hasReadyRequests());
auto request = net->scheduleSuccessfulResponse(makeCursorResponse(0, nss, docs));
ASSERT_EQUALS(currentSyncSource, request.target);
- ASSERT_EQUALS(SyncSourceResolver::kLocalOplogNss.db(), request.dbname);
+ ASSERT_EQUALS(NamespaceString::kRsOplogNamespace.db(), request.dbname);
ASSERT_EQUALS(SyncSourceResolver::kFetcherTimeout, request.timeout);
auto firstElement = request.cmdObj.firstElement();
ASSERT_EQUALS("find"_sd, firstElement.fieldNameStringData());
- ASSERT_EQUALS(SyncSourceResolver::kLocalOplogNss.coll(), firstElement.String());
+ ASSERT_EQUALS(NamespaceString::kRsOplogNamespace.coll(), firstElement.String());
auto filter = request.cmdObj.getObjectField("filter");
ASSERT_TRUE(filter.hasField("ts")) << request.cmdObj;
auto tsFilter = filter.getObjectField("ts");
@@ -904,7 +904,7 @@ TEST_F(SyncSourceResolverRequiredOpTimeTest,
_shouldFailRequest = [](const executor::RemoteCommandRequest& request) {
// Fail find commands reading the oplog with filter containing a "ts" predicate.
if (StringData{request.cmdObj.getStringField("find")} !=
- SyncSourceResolver::kLocalOplogNss.coll()) {
+ NamespaceString::kRsOplogNamespace.coll()) {
return false;
}
diff --git a/src/mongo/db/repl/tenant_file_cloner.cpp b/src/mongo/db/repl/tenant_file_cloner.cpp
index 77f37865d46..8857f88e8a3 100644
--- a/src/mongo/db/repl/tenant_file_cloner.cpp
+++ b/src/mongo/db/repl/tenant_file_cloner.cpp
@@ -173,8 +173,7 @@ void TenantFileCloner::runQuery() {
"$_backupFile" << BSON("backupId" << _backupId << "file" << _remoteFileName << "byteOffset"
<< static_cast<int64_t>(getFileOffset())));
AggregateCommandRequest aggRequest(
- NamespaceString::makeCollectionlessAggregateNSS(NamespaceString::kAdminDb),
- {backupFileStage});
+ NamespaceString::makeCollectionlessAggregateNSS(DatabaseName::kAdmin), {backupFileStage});
aggRequest.setReadConcern(ReadConcernArgs::kImplicitDefault);
aggRequest.setWriteConcern(WriteConcernOptions());
diff --git a/src/mongo/db/repl/tenant_file_importer_service.cpp b/src/mongo/db/repl/tenant_file_importer_service.cpp
index 74175fc682d..484c0161989 100644
--- a/src/mongo/db/repl/tenant_file_importer_service.cpp
+++ b/src/mongo/db/repl/tenant_file_importer_service.cpp
@@ -307,7 +307,7 @@ void TenantFileImporterService::_voteImportedFiles(OperationContext* opCtx,
auto voteResponse = replCoord->runCmdOnPrimaryAndAwaitResponse(
opCtx,
- NamespaceString::kAdminDb.toString(),
+ DatabaseName::kAdmin.db(),
cmd.toBSON({}),
[](executor::TaskExecutor::CallbackHandle handle) {},
[](executor::TaskExecutor::CallbackHandle handle) {});
diff --git a/src/mongo/db/repl/tenant_migration_access_blocker_util_test.cpp b/src/mongo/db/repl/tenant_migration_access_blocker_util_test.cpp
index 29eea68119c..bc5b0dbe7d5 100644
--- a/src/mongo/db/repl/tenant_migration_access_blocker_util_test.cpp
+++ b/src/mongo/db/repl/tenant_migration_access_blocker_util_test.cpp
@@ -223,7 +223,7 @@ TEST_F(TenantMigrationAccessBlockerUtilTest, TestValidateNssBeingMigrated) {
// No tenantId should work for an adminDB.
tenant_migration_access_blocker::validateNssIsBeingMigrated(
boost::none,
- NamespaceString::createNamespaceString_forTest(NamespaceString::kAdminDb, "test"),
+ NamespaceString::createNamespaceString_forTest(DatabaseName::kAdmin, "test"),
UUID::gen());
// No tenantId will throw if it's not an adminDB.
@@ -252,7 +252,7 @@ TEST_F(TenantMigrationAccessBlockerUtilTest, TestValidateNssBeingMigrated) {
// Finally everything works.
tenant_migration_access_blocker::validateNssIsBeingMigrated(
kTenantId,
- NamespaceString::createNamespaceString_forTest(NamespaceString::kAdminDb, "test"),
+ NamespaceString::createNamespaceString_forTest(DatabaseName::kAdmin, "test"),
migrationId);
}
diff --git a/src/mongo/db/repl/tenant_migration_donor_service.cpp b/src/mongo/db/repl/tenant_migration_donor_service.cpp
index b9e4e899849..65d7b398839 100644
--- a/src/mongo/db/repl/tenant_migration_donor_service.cpp
+++ b/src/mongo/db/repl/tenant_migration_donor_service.cpp
@@ -785,7 +785,7 @@ ExecutorFuture<void> TenantMigrationDonorService::Instance::_sendRecipientSyncDa
repl::ReplicationCoordinator::get(_serviceContext)->getConfigConnectionString();
RecipientSyncData request;
- request.setDbName(NamespaceString::kAdminDb);
+ request.setDbName(DatabaseName::kAdmin);
MigrationRecipientCommonData commonData(
_migrationUuid, donorConnString.toString(), _readPreference);
@@ -828,7 +828,7 @@ ExecutorFuture<void> TenantMigrationDonorService::Instance::_sendRecipientForget
repl::ReplicationCoordinator::get(_serviceContext)->getConfigConnectionString();
RecipientForgetMigration request;
- request.setDbName(NamespaceString::kAdminDb);
+ request.setDbName(DatabaseName::kAdmin);
MigrationRecipientCommonData commonData(
_migrationUuid, donorConnString.toString(), _readPreference);
diff --git a/src/mongo/db/repl/tenant_migration_recipient_service.cpp b/src/mongo/db/repl/tenant_migration_recipient_service.cpp
index e7cdf3b5445..d49e0b5a59b 100644
--- a/src/mongo/db/repl/tenant_migration_recipient_service.cpp
+++ b/src/mongo/db/repl/tenant_migration_recipient_service.cpp
@@ -100,8 +100,7 @@ constexpr int kCheckpointTsBackupCursorErrorCode = 6929900;
constexpr int kCloseCursorBeforeOpenErrorCode = 50886;
NamespaceString getOplogBufferNs(const UUID& migrationUUID) {
- return NamespaceString(NamespaceString::kConfigDb,
- kOplogBufferPrefix + migrationUUID.toString());
+ return NamespaceString(DatabaseName::kConfig, kOplogBufferPrefix + migrationUUID.toString());
}
bool isMigrationCompleted(TenantMigrationRecipientStateEnum state) {
@@ -1008,7 +1007,7 @@ SemiFuture<void> TenantMigrationRecipientService::Instance::_openBackupCursor(
const auto aggregateCommandRequestObj = [] {
AggregateCommandRequest aggRequest(
- NamespaceString::makeCollectionlessAggregateNSS(NamespaceString::kAdminDb),
+ NamespaceString::makeCollectionlessAggregateNSS(DatabaseName::kAdmin),
{BSON("$backupCursor" << BSONObj())});
// We must set a writeConcern on internal commands.
aggRequest.setWriteConcern(WriteConcernOptions());
@@ -1132,7 +1131,7 @@ SemiFuture<void> TenantMigrationRecipientService::Instance::_openBackupCursor(
_donorFilenameBackupCursorFileFetcher = std::make_unique<Fetcher>(
_backupCursorExecutor.get(),
_client->getServerHostAndPort(),
- NamespaceString::kAdminDb.toString(),
+ DatabaseName::kAdmin.toString(),
aggregateCommandRequestObj,
fetcherCallback,
ReadPreferenceSetting(ReadPreference::PrimaryPreferred).toContainingBSON(),
diff --git a/src/mongo/db/repl/tenant_migration_recipient_service_shard_merge_test.cpp b/src/mongo/db/repl/tenant_migration_recipient_service_shard_merge_test.cpp
index 3903bd238fd..ac8fee4f598 100644
--- a/src/mongo/db/repl/tenant_migration_recipient_service_shard_merge_test.cpp
+++ b/src/mongo/db/repl/tenant_migration_recipient_service_shard_merge_test.cpp
@@ -446,11 +446,10 @@ void sendReponseToExpectedRequest(const BSONObj& backupCursorResponse,
}
BSONObj createServerAggregateReply() {
- return CursorResponse(
- NamespaceString::makeCollectionlessAggregateNSS(NamespaceString::kAdminDb),
- 0 /* cursorId */,
- {BSON("byteOffset" << 0 << "endOfFile" << true << "data"
- << BSONBinData(0, 0, BinDataGeneral))})
+ return CursorResponse(NamespaceString::makeCollectionlessAggregateNSS(DatabaseName::kAdmin),
+ 0 /* cursorId */,
+ {BSON("byteOffset" << 0 << "endOfFile" << true << "data"
+ << BSONBinData(0, 0, BinDataGeneral))})
.toBSONAsInitialResponse();
}
diff --git a/src/mongo/db/repl/tenant_migration_shard_merge_util.h b/src/mongo/db/repl/tenant_migration_shard_merge_util.h
index 2c2da53f7cc..4950d392bf9 100644
--- a/src/mongo/db/repl/tenant_migration_shard_merge_util.h
+++ b/src/mongo/db/repl/tenant_migration_shard_merge_util.h
@@ -58,8 +58,7 @@ inline bool isDonatedFilesCollection(const NamespaceString& ns) {
}
inline NamespaceString getDonatedFilesNs(const UUID& migrationUUID) {
- return NamespaceString(NamespaceString::kConfigDb,
- kDonatedFilesPrefix + migrationUUID.toString());
+ return NamespaceString(DatabaseName::kConfig, kDonatedFilesPrefix + migrationUUID.toString());
}
inline boost::filesystem::path fileClonerTempDir(const UUID& migrationId) {