diff options
Diffstat (limited to 'src/mongo/db/s/shardsvr_reshard_collection_command.cpp')
-rw-r--r-- | src/mongo/db/s/shardsvr_reshard_collection_command.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/s/shardsvr_reshard_collection_command.cpp b/src/mongo/db/s/shardsvr_reshard_collection_command.cpp index fa6dbad0907..04c8aa85521 100644 --- a/src/mongo/db/s/shardsvr_reshard_collection_command.cpp +++ b/src/mongo/db/s/shardsvr_reshard_collection_command.cpp @@ -33,6 +33,7 @@ #include "mongo/db/auth/authorization_session.h" #include "mongo/db/commands.h" +#include "mongo/db/s/dist_lock_manager.h" #include "mongo/db/s/reshard_collection_coordinator.h" #include "mongo/db/s/sharding_state.h" #include "mongo/s/request_types/sharded_ddl_commands_gen.h" @@ -76,6 +77,13 @@ public: "Resharding is not supported for this version, please update the FCV to latest.", !serverGlobalParams.featureCompatibility.isUpgradingOrDowngrading()); + DistLockManager::ScopedDistLock dbDistLock( + uassertStatusOK(DistLockManager::get(opCtx)->lock( + opCtx, ns().db(), "reshardCollection", DistLockManager::kDefaultLockTimeout))); + DistLockManager::ScopedDistLock collDistLock( + uassertStatusOK(DistLockManager::get(opCtx)->lock( + opCtx, ns().ns(), "reshardCollection", DistLockManager::kDefaultLockTimeout))); + auto reshardCollectionCoordinator = std::make_shared<ReshardCollectionCoordinator>(opCtx, request()); reshardCollectionCoordinator->run(opCtx).get(opCtx); |