diff options
Diffstat (limited to 'src/mongo/db/s/shardsvr_rename_collection_command.cpp')
| -rw-r--r-- | src/mongo/db/s/shardsvr_rename_collection_command.cpp | 7 |
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())); |
