summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp
diff options
context:
space:
mode:
authorTommaso Tocci <tommaso.tocci@mongodb.com>2022-03-21 17:17:01 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-03-21 19:17:27 +0000
commitece9ffb3227b8e69d8908ae0d0437701d9847a77 (patch)
tree262459cc77e511c325de0c1c605843e342fbff82 /src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp
parent429e3033c2e8b9a51c1089ef53f18c3e3bbe85be (diff)
downloadmongo-ece9ffb3227b8e69d8908ae0d0437701d9847a77.tar.gz
SERVER-64651 Prevent refineCollectionShardKey to run on config server
Diffstat (limited to 'src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp')
-rw-r--r--src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp b/src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp
index 49e3006d250..ed3f7c0b0ad 100644
--- a/src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp
+++ b/src/mongo/db/s/shardsvr_refine_collection_shard_key_command.cpp
@@ -33,6 +33,7 @@
#include "mongo/db/commands.h"
#include "mongo/db/commands/feature_compatibility_version.h"
#include "mongo/db/s/refine_collection_shard_key_coordinator.h"
+#include "mongo/db/s/sharding_state.h"
#include "mongo/s/refine_collection_shard_key_coordinator_feature_flags_gen.h"
#include "mongo/s/request_types/refine_collection_shard_key_gen.h"
#include "mongo/s/request_types/sharded_ddl_commands_gen.h"
@@ -64,6 +65,10 @@ public:
using InvocationBase::InvocationBase;
void typedRun(OperationContext* opCtx) {
+
+ uassertStatusOK(ShardingState::get(opCtx)->canAcceptShardedCommands());
+ opCtx->setAlwaysInterruptAtStepDownOrUp();
+
const auto coordinatorCompletionFuture = [&]() -> SharedSemiFuture<void> {
FixedFCVRegion fixedFcvRegion(opCtx);
const auto coordinatorType =