summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/shardsvr_rename_collection_command.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/shardsvr_rename_collection_command.cpp')
-rw-r--r--src/mongo/db/s/shardsvr_rename_collection_command.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mongo/db/s/shardsvr_rename_collection_command.cpp b/src/mongo/db/s/shardsvr_rename_collection_command.cpp
index 97c129a029d..5a1918046f4 100644
--- a/src/mongo/db/s/shardsvr_rename_collection_command.cpp
+++ b/src/mongo/db/s/shardsvr_rename_collection_command.cpp
@@ -86,15 +86,16 @@ public:
CommandHelpers::uassertCommandRunWithMajority(Request::kCommandName,
opCtx->getWriteConcern());
+ if (fromNss.db() != toNss.db()) {
+ sharding_ddl_util::checkDbPrimariesOnTheSameShard(opCtx, fromNss, toNss);
+ }
+
validateNamespacesForRenameCollection(opCtx, fromNss, toNss);
auto coordinatorDoc = RenameCollectionCoordinatorDocument();
coordinatorDoc.setRenameCollectionRequest(req.getRenameCollectionRequest());
coordinatorDoc.setShardingDDLCoordinatorMetadata(
{{fromNss, DDLCoordinatorTypeEnum::kRenameCollection}});
- coordinatorDoc.setAllowEncryptedCollectionRename(
- req.getAllowEncryptedCollectionRename().value_or(false));
-
auto service = ShardingDDLCoordinatorService::getService(opCtx);
auto renameCollectionCoordinator = checked_pointer_cast<RenameCollectionCoordinator>(
service->getOrCreateInstance(opCtx, coordinatorDoc.toBSON()));