summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllison Easton <allison.easton@mongodb.com>2022-11-22 07:35:44 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-11-24 14:50:18 +0000
commit7cc81eb7c8c92722373cc01635b6d31a81ba1451 (patch)
treeb637c5a60aeb7f9c6e05197c9e368f6761293cb7
parent67ecf18ff9f8d221afa5c34cee8bd8535081aa04 (diff)
downloadmongo-7cc81eb7c8c92722373cc01635b6d31a81ba1451.tar.gz
SERVER-71486 Fix config settings schema modification during fcv upgrade and downgrade
(cherry picked from commit e8d15ab156ca830a970c4bc54e5861fa26173e97)
-rw-r--r--src/mongo/db/commands/set_feature_compatibility_version_command.cpp2
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager.cpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
index cf78737e0f1..e7789ea0eea 100644
--- a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
+++ b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
@@ -919,7 +919,7 @@ private:
// TODO (SERVER-70763): Remove once FCV 7.0 becomes last-lts.
void _removeSchemaOnConfigSettings(
OperationContext* opCtx, const multiversion::FeatureCompatibilityVersion requestedVersion) {
- if (!feature_flags::gGlobalIndexesShardingCatalog.isEnabledOnVersion(requestedVersion)) {
+ if (!feature_flags::gConfigSettingsSchema.isEnabledOnVersion(requestedVersion)) {
LOGV2(6885201, "Removing schema on config.settings");
CollMod collModCmd{NamespaceString::kConfigSettingsNamespace};
collModCmd.getCollModRequest().setValidator(BSONObj());
diff --git a/src/mongo/db/s/config/sharding_catalog_manager.cpp b/src/mongo/db/s/config/sharding_catalog_manager.cpp
index a4de1d835a5..0825d71b604 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager.cpp
@@ -529,6 +529,7 @@ Status ShardingCatalogManager::_initConfigSettings(OperationContext* opCtx) {
// Collection already exists, create validator on that collection
CollMod collModCmd{NamespaceString::kConfigSettingsNamespace};
collModCmd.getCollModRequest().setValidator(fullValidator);
+ collModCmd.getCollModRequest().setValidationLevel(ValidationLevelEnum::strict);
BSONObjBuilder builder;
return processCollModCommand(
opCtx, {NamespaceString::kConfigSettingsNamespace}, collModCmd, &builder);