diff options
-rw-r--r-- | src/mongo/db/read_concern_mongod.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/read_concern_mongod.cpp b/src/mongo/db/read_concern_mongod.cpp index a3eeef9a53b..7844f28ebea 100644 --- a/src/mongo/db/read_concern_mongod.cpp +++ b/src/mongo/db/read_concern_mongod.cpp @@ -137,6 +137,12 @@ Status makeNoopWriteIfNeeded(OperationContext* opCtx, LogicalTime clusterTime) { } bool isConfig = (serverGlobalParams.clusterRole == ClusterRole::ConfigServer); + + if (!isConfig && !ShardingState::get(opCtx)->enabled()) { + return {ErrorCodes::ShardingStateNotInitialized, + "Failed noop write because sharding state has not been initialized"}; + } + auto myShard = isConfig ? Grid::get(opCtx)->shardRegistry()->getConfigShard() : Grid::get(opCtx)->shardRegistry()->getShard( opCtx, ShardingState::get(opCtx)->shardId()); |