From 731864699b5e71e57ea6bf27a38670ccfebab652 Mon Sep 17 00:00:00 2001 From: Jordi Serra Torrens Date: Wed, 28 Apr 2021 08:11:54 +0000 Subject: SERVER-56399 Configsvr step-up can fail after stepping-down during setFCV metadata patch-up --- src/mongo/db/s/config/sharding_catalog_manager.cpp | 25 +++++++++++++--------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'src/mongo/db/s/config') diff --git a/src/mongo/db/s/config/sharding_catalog_manager.cpp b/src/mongo/db/s/config/sharding_catalog_manager.cpp index 813c6f3d0d3..a13ddcdcabc 100644 --- a/src/mongo/db/s/config/sharding_catalog_manager.cpp +++ b/src/mongo/db/s/config/sharding_catalog_manager.cpp @@ -446,17 +446,22 @@ Status ShardingCatalogManager::_initConfigIndexes(OperationContext* opCtx) { const bool unique = true; auto configShard = Grid::get(opCtx)->shardRegistry()->getConfigShard(); - if (feature_flags::gShardingFullDDLSupportTimestampedVersion.isEnabled( - serverGlobalParams.featureCompatibility)) { - const auto result = createUuidIndexesForConfigChunks(opCtx); - if (result != Status::OK()) { - return result; - } + // (Generic FCV reference): TODO SERVER-53283 Remove the outermost 'if' statement once 5.0 has + // branched out. + if (!serverGlobalParams.featureCompatibility.isUpgradingOrDowngrading() || + !feature_flags::gShardingFullDDLSupportTimestampedVersion.isEnabledAndIgnoreFCV()) { + if (feature_flags::gShardingFullDDLSupportTimestampedVersion.isEnabled( + serverGlobalParams.featureCompatibility)) { + const auto result = createUuidIndexesForConfigChunks(opCtx); + if (result != Status::OK()) { + return result; + } - } else { - const auto result = createNsIndexesForConfigChunks(opCtx); - if (result != Status::OK()) { - return result; + } else { + const auto result = createNsIndexesForConfigChunks(opCtx); + if (result != Status::OK()) { + return result; + } } } -- cgit v1.2.1