summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierlauro Sciarelli <pierlauro.sciarelli@mongodb.com>2023-04-13 09:00:02 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-13 09:42:44 +0000
commitbe345a8b7a2edf3bd89f2444f52ce9f5a2271f5b (patch)
treeb4bc1bd2dab6d04f0fd3df0e84cd592a6b24fc4f
parent665a72701aaf506351ec8309fe55808b9259d5ec (diff)
downloadmongo-be345a8b7a2edf3bd89f2444f52ce9f5a2271f5b.tar.gz
SERVER-70763 Remove feature flag and upgrade/downgrade procedures for config settings schema
-rw-r--r--jstests/sharding/config_settings_schema.js2
-rw-r--r--src/mongo/db/commands/set_feature_compatibility_version_command.cpp31
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager.cpp12
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager.h5
-rw-r--r--src/mongo/s/sharding_feature_flags.idl5
5 files changed, 4 insertions, 51 deletions
diff --git a/jstests/sharding/config_settings_schema.js b/jstests/sharding/config_settings_schema.js
index 2f8d778bee4..9510bd88fb9 100644
--- a/jstests/sharding/config_settings_schema.js
+++ b/jstests/sharding/config_settings_schema.js
@@ -1,7 +1,7 @@
/**
* Tests that the schema on config.settings works as intended.
*
- * @tags: [featureFlagConfigSettingsSchema, requires_fcv_62, does_not_support_stepdowns]
+ * @tags: [does_not_support_stepdowns]
*/
(function() {
'use strict';
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 8905e099367..ed38864d369 100644
--- a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
+++ b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp
@@ -707,7 +707,6 @@ private:
if (serverGlobalParams.clusterRole.has(ClusterRole::ConfigServer)) {
const auto actualVersion = serverGlobalParams.featureCompatibility.getVersion();
_cleanupConfigVersionOnUpgrade(opCtx, requestedVersion, actualVersion);
- _createSchemaOnConfigSettings(opCtx, requestedVersion, actualVersion);
_setOnCurrentShardSinceFieldOnChunks(opCtx, requestedVersion, actualVersion);
// Depends on _setOnCurrentShardSinceFieldOnChunks()
_initializePlacementHistory(opCtx, requestedVersion, actualVersion);
@@ -815,18 +814,6 @@ private:
}
}
- // TODO (SERVER-70763): Remove once FCV 7.0 becomes last-lts.
- void _createSchemaOnConfigSettings(
- OperationContext* opCtx,
- const multiversion::FeatureCompatibilityVersion requestedVersion,
- const multiversion::FeatureCompatibilityVersion actualVersion) {
- if (feature_flags::gConfigSettingsSchema.isEnabledOnTargetFCVButDisabledOnOriginalFCV(
- requestedVersion, actualVersion)) {
- LOGV2(6885200, "Creating schema on config.settings");
- uassertStatusOK(ShardingCatalogManager::get(opCtx)->upgradeConfigSettings(opCtx));
- }
- }
-
void _setShardedClusterCardinalityParam(
OperationContext* opCtx, const multiversion::FeatureCompatibilityVersion requestedVersion) {
if (feature_flags::gClusterCardinalityParameter.isEnabledOnVersion(requestedVersion)) {
@@ -1257,7 +1244,6 @@ private:
// roles aren't mutually exclusive.
if (serverGlobalParams.clusterRole.has(ClusterRole::ConfigServer)) {
_dropInternalShardingIndexCatalogCollection(opCtx, requestedVersion, originalVersion);
- _removeSchemaOnConfigSettings(opCtx, requestedVersion, originalVersion);
// Always abort the reshardCollection regardless of version to ensure that it will
// run on a consistent version from start to finish. This will ensure that it will
// be able to apply the oplog entries correctly.
@@ -1365,23 +1351,6 @@ private:
}
}
- // TODO (SERVER-70763): Remove once FCV 7.0 becomes last-lts.
- void _removeSchemaOnConfigSettings(
- OperationContext* opCtx,
- const multiversion::FeatureCompatibilityVersion requestedVersion,
- const multiversion::FeatureCompatibilityVersion originalVersion) {
- if (feature_flags::gConfigSettingsSchema.isDisabledOnTargetFCVButEnabledOnOriginalFCV(
- requestedVersion, originalVersion)) {
- LOGV2(6885201, "Removing schema on config.settings");
- CollMod collModCmd{NamespaceString::kConfigSettingsNamespace};
- collModCmd.getCollModRequest().setValidator(BSONObj());
- collModCmd.getCollModRequest().setValidationLevel(ValidationLevelEnum::off);
- BSONObjBuilder builder;
- uassertStatusOKIgnoreNSNotFound(processCollModCommand(
- opCtx, {NamespaceString::kConfigSettingsNamespace}, collModCmd, &builder));
- }
- }
-
// _prepareToDowngrade performs all actions and checks that need to be done before proceeding to
// make any metadata changes as part of FCV downgrade. Any new feature specific downgrade
// code should be placed in the helper functions:
diff --git a/src/mongo/db/s/config/sharding_catalog_manager.cpp b/src/mongo/db/s/config/sharding_catalog_manager.cpp
index 3b4cf2c9150..cc2e28c8106 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager.cpp
@@ -665,11 +665,9 @@ Status ShardingCatalogManager::initializeConfigDatabaseIfNeeded(OperationContext
return status;
}
- if (feature_flags::gConfigSettingsSchema.isEnabled(serverGlobalParams.featureCompatibility)) {
- status = _initConfigSettings(opCtx);
- if (!status.isOK()) {
- return status;
- }
+ status = _initConfigSettings(opCtx);
+ if (!status.isOK()) {
+ return status;
}
// Make sure to write config.version last since we detect rollbacks of config.version and
@@ -686,10 +684,6 @@ Status ShardingCatalogManager::initializeConfigDatabaseIfNeeded(OperationContext
return Status::OK();
}
-Status ShardingCatalogManager::upgradeConfigSettings(OperationContext* opCtx) {
- return _initConfigSettings(opCtx);
-}
-
ShardingCatalogClient* ShardingCatalogManager::localCatalogClient() {
invariant(serverGlobalParams.clusterRole.has(ClusterRole::ConfigServer));
return _localCatalogClient.get();
diff --git a/src/mongo/db/s/config/sharding_catalog_manager.h b/src/mongo/db/s/config/sharding_catalog_manager.h
index 4f2bff1a332..8f074afd4b2 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager.h
+++ b/src/mongo/db/s/config/sharding_catalog_manager.h
@@ -566,11 +566,6 @@ public:
const Timestamp& validAfter);
/**
- * Creates config.settings (if needed) and adds a schema to the collection.
- */
- Status upgradeConfigSettings(OperationContext* opCtx);
-
- /**
* Set `onCurrentShardSince` to the same value as `history[0].validAfter` for all config.chunks
* entries.
* Only called on the FCV upgrade
diff --git a/src/mongo/s/sharding_feature_flags.idl b/src/mongo/s/sharding_feature_flags.idl
index 36929ede965..759cca0d2ec 100644
--- a/src/mongo/s/sharding_feature_flags.idl
+++ b/src/mongo/s/sharding_feature_flags.idl
@@ -82,11 +82,6 @@ feature_flags:
cpp_varname: feature_flags::gResilientMovePrimary
default: true
version: 7.0
- featureFlagConfigSettingsSchema:
- description: "Feature flag for adding schema to config.settings collection"
- cpp_varname: feature_flags::gConfigSettingsSchema
- default: true
- version: 6.2
featureFlagAutoMerger:
description: "Feature flag for enabling auto-merging of contiguous chunks belonging to the same shard"
cpp_varname: feature_flags::gAutoMerger