diff options
Diffstat (limited to 'src/mongo')
21 files changed, 93 insertions, 92 deletions
diff --git a/src/mongo/db/commands/feature_compatibility_version.cpp b/src/mongo/db/commands/feature_compatibility_version.cpp index 9401cc7f0f1..5c96789c300 100644 --- a/src/mongo/db/commands/feature_compatibility_version.cpp +++ b/src/mongo/db/commands/feature_compatibility_version.cpp @@ -72,7 +72,7 @@ void FeatureCompatibilityVersion::setTargetUpgrade(OperationContext* opCtx) { updateMods.append(FeatureCompatibilityVersionParser::kVersionField, FeatureCompatibilityVersionParser::kVersion44); updateMods.append(FeatureCompatibilityVersionParser::kTargetVersionField, - FeatureCompatibilityVersionParser::kVersion46); + FeatureCompatibilityVersionParser::kVersion451); }); } @@ -125,7 +125,7 @@ void FeatureCompatibilityVersion::setIfCleanStartup(OperationContext* opCtx, repl::TimestampedBSONObj{ BSON("_id" << FeatureCompatibilityVersionParser::kParameterName << FeatureCompatibilityVersionParser::kVersionField - << (storeUpgradeVersion ? FeatureCompatibilityVersionParser::kVersion46 + << (storeUpgradeVersion ? FeatureCompatibilityVersionParser::kVersion451 : FeatureCompatibilityVersionParser::kVersion44)), Timestamp()}, repl::OpTime::kUninitializedTerm)); // No timestamp or term because this write is not @@ -176,8 +176,8 @@ void FeatureCompatibilityVersion::updateMinWireVersion() { switch (serverGlobalParams.featureCompatibility.getVersion()) { case ServerGlobalParams::FeatureCompatibility::kLatest: - case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46: - case ServerGlobalParams::FeatureCompatibility::Version::kDowngradingTo44: + case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451: + case ServerGlobalParams::FeatureCompatibility::Version::kDowngradingFrom451To44: spec.incomingInternalClient.minWireVersion = LATEST_WIRE_VERSION; spec.outgoing.minWireVersion = LATEST_WIRE_VERSION; return; @@ -229,7 +229,7 @@ void FeatureCompatibilityVersion::_setVersion( // 2. Setting featureCompatibilityVersion from fullyDowngraded to upgrading. const auto shouldIncrementTopologyVersion = newVersion == ServerGlobalParams::FeatureCompatibility::kLastLTS || - newVersion == ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46; + newVersion == ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451; if (isReplSet && shouldIncrementTopologyVersion) { replCoordinator->incrementTopologyVersion(); } @@ -257,10 +257,10 @@ void FeatureCompatibilityVersion::onReplicationRollback(OperationContext* opCtx) void FeatureCompatibilityVersion::_validateVersion(StringData version) { uassert(40284, str::stream() << "featureCompatibilityVersion must be '" - << FeatureCompatibilityVersionParser::kVersion46 << "' or '" + << FeatureCompatibilityVersionParser::kVersion451 << "' or '" << FeatureCompatibilityVersionParser::kVersion44 << "'. See " << feature_compatibility_version_documentation::kCompatibilityLink << ".", - version == FeatureCompatibilityVersionParser::kVersion46 || + version == FeatureCompatibilityVersionParser::kVersion451 || version == FeatureCompatibilityVersionParser::kVersion44); } @@ -320,17 +320,17 @@ void FeatureCompatibilityVersionParameter::append(OperationContext* opCtx, case ServerGlobalParams::FeatureCompatibility::kLatest: featureCompatibilityVersionBuilder.append( FeatureCompatibilityVersionParser::kVersionField, - FeatureCompatibilityVersionParser::kVersion46); + FeatureCompatibilityVersionParser::kVersion451); return; - case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46: + case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451: featureCompatibilityVersionBuilder.append( FeatureCompatibilityVersionParser::kVersionField, FeatureCompatibilityVersionParser::kVersion44); featureCompatibilityVersionBuilder.append( FeatureCompatibilityVersionParser::kTargetVersionField, - FeatureCompatibilityVersionParser::kVersion46); + FeatureCompatibilityVersionParser::kVersion451); return; - case ServerGlobalParams::FeatureCompatibility::Version::kDowngradingTo44: + case ServerGlobalParams::FeatureCompatibility::Version::kDowngradingFrom451To44: featureCompatibilityVersionBuilder.append( FeatureCompatibilityVersionParser::kVersionField, FeatureCompatibilityVersionParser::kVersion44); diff --git a/src/mongo/db/commands/feature_compatibility_version.h b/src/mongo/db/commands/feature_compatibility_version.h index d1058ae57e9..f4d0263f029 100644 --- a/src/mongo/db/commands/feature_compatibility_version.h +++ b/src/mongo/db/commands/feature_compatibility_version.h @@ -52,23 +52,23 @@ public: static Lock::ResourceMutex fcvLock; /** - * Records intent to perform a 4.4 -> 4.6 upgrade by updating the on-disk feature - * compatibility version document to have 'version'=4.4, 'targetVersion'=4.6. + * Records intent to perform a 4.4 -> 4.5.1 upgrade by updating the on-disk feature + * compatibility version document to have 'version'=4.4, 'targetVersion'=4.5.1. * Should be called before schemas are modified. */ static void setTargetUpgrade(OperationContext* opCtx); /** - * Records intent to perform a 4.6 -> 4.4 downgrade by updating the on-disk feature + * Records intent to perform a 4.5.1 -> 4.4 downgrade by updating the on-disk feature * compatibility version document to have 'version'=4.4, 'targetVersion'=4.4. * Should be called before schemas are modified. */ static void setTargetDowngrade(OperationContext* opCtx); /** - * Records the completion of a 4.4 <-> 4.6 upgrade or downgrade by updating the on-disk feature - * compatibility version document to have 'version'=version and unsetting the 'targetVersion' - * field. Should be called after schemas are modified. + * Records the completion of a 4.4 <-> 4.5.1 upgrade or downgrade by updating the on-disk + * feature compatibility version document to have 'version'=version and unsetting the + * 'targetVersion' field. Should be called after schemas are modified. */ static void unsetTargetUpgradeOrDowngrade(OperationContext* opCtx, StringData version); diff --git a/src/mongo/db/commands/feature_compatibility_version_command_parser.cpp b/src/mongo/db/commands/feature_compatibility_version_command_parser.cpp index 021fdf03d07..27b35a3513b 100644 --- a/src/mongo/db/commands/feature_compatibility_version_command_parser.cpp +++ b/src/mongo/db/commands/feature_compatibility_version_command_parser.cpp @@ -77,11 +77,11 @@ StatusWith<std::string> FeatureCompatibilityVersionCommandParser::extractVersion const std::string version = versionElem.String(); - if (version != FeatureCompatibilityVersionParser::kVersion46 && + if (version != FeatureCompatibilityVersionParser::kVersion451 && version != FeatureCompatibilityVersionParser::kVersion44) { return {ErrorCodes::BadValue, str::stream() << "Invalid command argument. Expected '" - << FeatureCompatibilityVersionParser::kVersion46 << "' or '" + << FeatureCompatibilityVersionParser::kVersion451 << "' or '" << FeatureCompatibilityVersionParser::kVersion44 << "', found " << version << " in: " << cmdObj << ". See " << feature_compatibility_version_documentation::kCompatibilityLink diff --git a/src/mongo/db/commands/feature_compatibility_version_parser.cpp b/src/mongo/db/commands/feature_compatibility_version_parser.cpp index a0a2ead7bea..97fc21eb67e 100644 --- a/src/mongo/db/commands/feature_compatibility_version_parser.cpp +++ b/src/mongo/db/commands/feature_compatibility_version_parser.cpp @@ -39,9 +39,9 @@ namespace mongo { constexpr StringData FeatureCompatibilityVersionParser::kVersion44; -constexpr StringData FeatureCompatibilityVersionParser::kVersion46; -constexpr StringData FeatureCompatibilityVersionParser::kVersionDowngradingTo44; -constexpr StringData FeatureCompatibilityVersionParser::kVersionUpgradingTo46; +constexpr StringData FeatureCompatibilityVersionParser::kVersion451; +constexpr StringData FeatureCompatibilityVersionParser::kVersionDowngradingFrom451To44; +constexpr StringData FeatureCompatibilityVersionParser::kVersionUpgradingFrom44To451; constexpr StringData FeatureCompatibilityVersionParser::kVersionUnset; constexpr StringData FeatureCompatibilityVersionParser::kParameterName; @@ -72,11 +72,11 @@ FeatureCompatibilityVersionParser::parse(const BSONObj& featureCompatibilityVers << "."); } - if (elem.String() != kVersion46 && elem.String() != kVersion44) { + if (elem.String() != kVersion451 && elem.String() != kVersion44) { return Status(ErrorCodes::BadValue, str::stream() << "Invalid value for " << fieldName << ", found " - << elem.String() << ", expected '" << kVersion46 << "' or '" + << elem.String() << ", expected '" << kVersion451 << "' or '" << kVersion44 << "'. Contents of " << kParameterName << " document in " << NamespaceString::kServerConfigurationNamespace.toString() @@ -103,15 +103,15 @@ FeatureCompatibilityVersionParser::parse(const BSONObj& featureCompatibilityVers } if (versionString == kVersion44) { - if (targetVersionString == kVersion46) { - version = ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46; + if (targetVersionString == kVersion451) { + version = ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451; } else if (targetVersionString == kVersion44) { - version = ServerGlobalParams::FeatureCompatibility::Version::kDowngradingTo44; + version = ServerGlobalParams::FeatureCompatibility::Version::kDowngradingFrom451To44; } else { version = ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo44; } - } else if (versionString == kVersion46) { - if (targetVersionString == kVersion46 || targetVersionString == kVersion44) { + } else if (versionString == kVersion451) { + if (targetVersionString == kVersion451 || targetVersionString == kVersion44) { return Status(ErrorCodes::BadValue, str::stream() << "Invalid state for " << kParameterName << " document in " @@ -120,7 +120,7 @@ FeatureCompatibilityVersionParser::parse(const BSONObj& featureCompatibilityVers << feature_compatibility_version_documentation::kCompatibilityLink << "."); } else { - version = ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46; + version = ServerGlobalParams::FeatureCompatibility::Version::kVersion451; } } else { return Status(ErrorCodes::BadValue, diff --git a/src/mongo/db/commands/feature_compatibility_version_parser.h b/src/mongo/db/commands/feature_compatibility_version_parser.h index e52e73e4477..01f25fe6f5d 100644 --- a/src/mongo/db/commands/feature_compatibility_version_parser.h +++ b/src/mongo/db/commands/feature_compatibility_version_parser.h @@ -41,9 +41,9 @@ namespace mongo { class FeatureCompatibilityVersionParser { public: static constexpr StringData kVersion44 = "4.4"_sd; - static constexpr StringData kVersion46 = "4.6"_sd; - static constexpr StringData kVersionDowngradingTo44 = "downgrading to 4.4"_sd; - static constexpr StringData kVersionUpgradingTo46 = "upgrading to 4.6"_sd; + static constexpr StringData kVersion451 = "4.5.1"_sd; + static constexpr StringData kVersionDowngradingFrom451To44 = "downgrading from 4.5.1 to 4.4"_sd; + static constexpr StringData kVersionUpgradingFrom44To451 = "upgrading from 4.4 to 4.5.1"_sd; static constexpr StringData kVersionUnset = "Unset"_sd; static constexpr StringData kParameterName = "featureCompatibilityVersion"_sd; @@ -67,12 +67,12 @@ public: return kVersionUnset; case ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo44: return kVersion44; - case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46: - return kVersionUpgradingTo46; - case ServerGlobalParams::FeatureCompatibility::Version::kDowngradingTo44: - return kVersionDowngradingTo44; - case ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46: - return kVersion46; + case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451: + return kVersionUpgradingFrom44To451; + case ServerGlobalParams::FeatureCompatibility::Version::kDowngradingFrom451To44: + return kVersionDowngradingFrom451To44; + case ServerGlobalParams::FeatureCompatibility::Version::kVersion451: + return kVersion451; default: MONGO_UNREACHABLE; } 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 7f5e2a6400e..f34a64d157c 100644 --- a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp +++ b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp @@ -93,8 +93,8 @@ void deletePersistedDefaultRWConcernDocument(OperationContext* opCtx) { } /** - * Sets the minimum allowed version for the cluster. If it is 4.4, then the node should not use 4.6 - * features. + * Sets the minimum allowed version for the cluster. If it is 4.4, then the node should not + * use 4.5.1 features. * * Format: * { @@ -121,11 +121,12 @@ public: std::string help() const override { using FCVP = FeatureCompatibilityVersionParser; std::stringstream h; - h << "Set the API version exposed by this node. If set to '" << FCVP::kVersion44 - << "', then " << FCVP::kVersion46 << " features are disabled. If set to '" - << FCVP::kVersion46 << "', then " << FCVP::kVersion46 + h << "Set the featureCompatibilityVersion exposed by this node. If set to '" + << FCVP::kVersion44 << "', then " << FCVP::kVersion451 + << " features are disabled. If set to '" << FCVP::kVersion451 << "', then " + << FCVP::kVersion451 << " features are enabled, and all nodes in the cluster must be binary version " - << FCVP::kVersion46 << ". See " + << FCVP::kVersion451 << ". See " << feature_compatibility_version_documentation::kCompatibilityLink << "."; return h.str(); } @@ -183,16 +184,15 @@ public: ServerGlobalParams::FeatureCompatibility::Version actualVersion = serverGlobalParams.featureCompatibility.getVersion(); - if (requestedVersion == FeatureCompatibilityVersionParser::kVersion46) { + if (requestedVersion == FeatureCompatibilityVersionParser::kVersion451) { uassert(ErrorCodes::IllegalOperation, - "cannot initiate featureCompatibilityVersion upgrade to 4.6 while a previous " + "cannot initiate featureCompatibilityVersion upgrade to 4.5.1 while a previous " "featureCompatibilityVersion downgrade to 4.4 has not completed. Finish " - "downgrade to 4.4, then upgrade to 4.6.", + "downgrade to 4.4, then upgrade to 4.5.1.", actualVersion != - ServerGlobalParams::FeatureCompatibility::Version::kDowngradingTo44); + ServerGlobalParams::FeatureCompatibility::Version::kDowngradingFrom451To44); - if (actualVersion == - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46) { + if (actualVersion == ServerGlobalParams::FeatureCompatibility::Version::kVersion451) { // Set the client's last opTime to the system last opTime so no-ops wait for // writeConcern. repl::ReplClientInfo::forClient(opCtx->getClient()) @@ -206,7 +206,7 @@ public: // Take the global lock in S mode to create a barrier for operations taking the // global IX or X locks. This ensures that either // - The global IX/X locked operation will start after the FCV change, see the - // upgrading to 4.6 FCV and act accordingly. + // upgrading to 4.5.1 FCV and act accordingly. // - The global IX/X locked operation began prior to the FCV change, is acting on // that assumption and will finish before upgrade procedures begin right after // this. @@ -241,9 +241,9 @@ public: } else if (requestedVersion == FeatureCompatibilityVersionParser::kVersion44) { uassert(ErrorCodes::IllegalOperation, "cannot initiate setting featureCompatibilityVersion to 4.4 while a previous " - "featureCompatibilityVersion upgrade to 4.6 has not completed.", + "featureCompatibilityVersion upgrade to 4.5.1 has not completed.", actualVersion != - ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46); + ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451); if (actualVersion == ServerGlobalParams::FeatureCompatibility::Version::kFullyDowngradedTo44) { diff --git a/src/mongo/db/index/index_descriptor.cpp b/src/mongo/db/index/index_descriptor.cpp index 7c16ae58040..55e8ec0eb8c 100644 --- a/src/mongo/db/index/index_descriptor.cpp +++ b/src/mongo/db/index/index_descriptor.cpp @@ -180,7 +180,7 @@ IndexDescriptor::Comparison IndexDescriptor::compareIndexOptions( // The partialFilterExpression is only part of the index signature if FCV has been set to 4.6. // TODO SERVER-47766: remove these FCV checks after we branch for 4.7. auto isFCV46 = serverGlobalParams.featureCompatibility.isVersion( - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46); + ServerGlobalParams::FeatureCompatibility::Version::kVersion451); // If we have a partial filter expression and the other index doesn't, or vice-versa, then the // two indexes are not equivalent. We therefore return Comparison::kDifferent immediately. diff --git a/src/mongo/db/mongod_main.cpp b/src/mongo/db/mongod_main.cpp index fe91a5478fc..368c7605491 100644 --- a/src/mongo/db/mongod_main.cpp +++ b/src/mongo/db/mongod_main.cpp @@ -1084,7 +1084,7 @@ void shutdownTask(const ShutdownTaskArgs& shutdownArgs) { // TODO SERVER-49138: Remove this FCV check once we branch for 4.8. if (serverGlobalParams.featureCompatibility.isVersion( - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46)) { + ServerGlobalParams::FeatureCompatibility::Version::kVersion451)) { if (auto replCoord = repl::ReplicationCoordinator::get(serviceContext); replCoord && replCoord->enterQuiesceModeIfSecondary(shutdownTimeout)) { ServiceContext::UniqueOperationContext uniqueOpCtx; diff --git a/src/mongo/db/repair_database_and_check_version.cpp b/src/mongo/db/repair_database_and_check_version.cpp index 8d959ee2bd1..b7a56e42764 100644 --- a/src/mongo/db/repair_database_and_check_version.cpp +++ b/src/mongo/db/repair_database_and_check_version.cpp @@ -77,7 +77,7 @@ namespace { const std::string mustDowngradeErrorMsg = str::stream() << "UPGRADE PROBLEM: The data files need to be fully upgraded to version 4.4 before attempting " - "an upgrade to 4.6; see " + "an upgrade to 4.5.1; see " << feature_compatibility_version_documentation::kUpgradeLink << " for more details."; Status restoreMissingFeatureCompatibilityVersionDocument(OperationContext* opCtx, @@ -584,22 +584,22 @@ bool repairDatabasesAndCheckVersion(OperationContext* opCtx) { // On startup, if the version is in an upgrading or downgrading state, print a // warning. if (version == - ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46) { + ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451) { LOGV2_WARNING_OPTIONS( 21011, {logv2::LogTag::kStartupWarnings}, "A featureCompatibilityVersion upgrade did not complete. The current " "featureCompatibilityVersion is " "{currentfeatureCompatibilityVersion}. To fix this, use the " - "setFeatureCompatibilityVersion command to resume upgrade to 4.6.", + "setFeatureCompatibilityVersion command to resume upgrade to 4.5.1.", "A featureCompatibilityVersion upgrade did not complete. To fix this, " "use the " - "setFeatureCompatibilityVersion command to resume upgrade to 4.6", + "setFeatureCompatibilityVersion command to resume upgrade to 4.5.1", "currentfeatureCompatibilityVersion"_attr = FeatureCompatibilityVersionParser::toString(version)); } else if (version == ServerGlobalParams::FeatureCompatibility::Version:: - kDowngradingTo44) { + kDowngradingFrom451To44) { LOGV2_WARNING_OPTIONS( 21014, {logv2::LogTag::kStartupWarnings}, diff --git a/src/mongo/db/repl/initial_syncer_test.cpp b/src/mongo/db/repl/initial_syncer_test.cpp index 6b7138aaa8e..9ea641dfc5a 100644 --- a/src/mongo/db/repl/initial_syncer_test.cpp +++ b/src/mongo/db/repl/initial_syncer_test.cpp @@ -1905,7 +1905,7 @@ TEST_F(InitialSyncerTest, InitialSyncerReturnsIncompatibleServerVersionWhenFCVFetcherReturnsUpgradeTargetVersion) { auto docs = {BSON("_id" << FeatureCompatibilityVersionParser::kParameterName << "version" << FeatureCompatibilityVersionParser::kVersion44 << "targetVersion" - << FeatureCompatibilityVersionParser::kVersion46)}; + << FeatureCompatibilityVersionParser::kVersion451)}; runInitialSyncWithBadFCVResponse(docs, ErrorCodes::IncompatibleServerVersion); } diff --git a/src/mongo/db/repl/repl_set_heartbeat_args_v1.cpp b/src/mongo/db/repl/repl_set_heartbeat_args_v1.cpp index 92d0dd799c6..c1bc9b7ac83 100644 --- a/src/mongo/db/repl/repl_set_heartbeat_args_v1.cpp +++ b/src/mongo/db/repl/repl_set_heartbeat_args_v1.cpp @@ -178,8 +178,9 @@ void ReplSetHeartbeatArgsV1::addToBSON(BSONObjBuilder* builder) const { builder->appendIntOrLL(kSenderIdFieldName, _senderId); builder->appendIntOrLL(kTermFieldName, _term); + // TODO SERVER-49382: Remove this FCV check after we branch for 4.7. if (serverGlobalParams.featureCompatibility.isVersion( - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46)) { + ServerGlobalParams::FeatureCompatibility::Version::kVersion451)) { builder->append(kPrimaryIdFieldName, _primaryId); } } diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp index 7299ba08b03..c058325362e 100644 --- a/src/mongo/db/repl/replication_coordinator_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_impl.cpp @@ -3198,7 +3198,7 @@ bool ReplicationCoordinatorImpl::_supportsAutomaticReconfig() const { } if (serverGlobalParams.featureCompatibility.getVersion() != - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46) { + ServerGlobalParams::FeatureCompatibility::Version::kVersion451) { return false; } diff --git a/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp b/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp index 3b6a9b7da00..29e0011b2c1 100644 --- a/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp +++ b/src/mongo/db/s/config/sharding_catalog_manager_add_shard_test.cpp @@ -139,7 +139,7 @@ protected: ASSERT_EQ(request.dbname, "admin"); ASSERT_BSONOBJ_EQ(request.cmdObj, BSON("setFeatureCompatibilityVersion" - << "4.6" + << "4.5.1" << "writeConcern" << writeConcern)); return response; diff --git a/src/mongo/db/s/config/sharding_catalog_manager_shard_operations.cpp b/src/mongo/db/s/config/sharding_catalog_manager_shard_operations.cpp index 15792b5239e..5978639a12b 100644 --- a/src/mongo/db/s/config/sharding_catalog_manager_shard_operations.cpp +++ b/src/mongo/db/s/config/sharding_catalog_manager_shard_operations.cpp @@ -653,9 +653,9 @@ StatusWith<std::string> ShardingCatalogManager::addShard( BSONObj setFCVCmd; switch (serverGlobalParams.featureCompatibility.getVersion()) { case ServerGlobalParams::FeatureCompatibility::kLatest: - case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo46: + case ServerGlobalParams::FeatureCompatibility::Version::kUpgradingFrom44To451: setFCVCmd = BSON(FeatureCompatibilityVersionCommandParser::kCommandName - << FeatureCompatibilityVersionParser::kVersion46 + << FeatureCompatibilityVersionParser::kVersion451 << WriteConcernOptions::kWriteConcernField << opCtx->getWriteConcern().toBSON()); break; diff --git a/src/mongo/db/server_options.h b/src/mongo/db/server_options.h index fb241af8e0a..3be5400522a 100644 --- a/src/mongo/db/server_options.h +++ b/src/mongo/db/server_options.h @@ -166,19 +166,19 @@ struct ServerGlobalParams { * (4.4, Unset): Only 4.4 features are available, and new and existing storage * engine entries use the 4.4 format * - * kUpgradingTo46 - * (4.4, 4.6): Only 4.4 features are available, but new storage engine entries - * use the 4.6 format, and existing entries may have either the - * 4.4 or 4.6 format + * kUpgradingFrom44To451 + * (4.4, 4.5.1): Only 4.4 features are available, but new storage engine entries + * use the 4.5.1 format, and existing entries may have either the + * 4.4 or 4.5.1 format * - * kFullyUpgradedTo46 - * (4.6, Unset): 4.6 features are available, and new and existing storage - * engine entries use the 4.6 format + * kVersion451 + * (4.5.1, Unset): 4.5.1 features are available, and new and existing storage + * engine entries use the 4.5.1 format * - * kDowngradingTo44 + * kDowngradingFrom451To44 * (4.4, 4.4): Only 4.4 features are available and new storage engine * entries use the 4.4 format, but existing entries may have - * either the 4.4 or 4.6 format + * either the 4.4 or 4.5.1 format * * kUnsetDefault44Behavior * (Unset, Unset): This is the case on startup before the fCV document is @@ -193,12 +193,12 @@ struct ServerGlobalParams { // lower than some maximum, respectively. kUnsetDefault44Behavior = 0, kFullyDowngradedTo44 = 1, - kDowngradingTo44 = 2, - kUpgradingTo46 = 3, - kFullyUpgradedTo46 = 4, + kDowngradingFrom451To44 = 2, + kUpgradingFrom44To451 = 3, + kVersion451 = 4, }; - static constexpr Version kLatest = Version::kFullyUpgradedTo46; + static constexpr Version kLatest = Version::kVersion451; static constexpr Version kLastContinuous = Version::kFullyDowngradedTo44; static constexpr Version kLastLTS = Version::kFullyDowngradedTo44; diff --git a/src/mongo/db/storage/storage_engine_impl.cpp b/src/mongo/db/storage/storage_engine_impl.cpp index ce7b5c711c3..bcded20bb6d 100644 --- a/src/mongo/db/storage/storage_engine_impl.cpp +++ b/src/mongo/db/storage/storage_engine_impl.cpp @@ -860,7 +860,7 @@ bool StorageEngineImpl::supportsResumableIndexBuilds() const { return enableResumableIndexBuilds && supportsReadConcernMajority() && !isEphemeral() && serverGlobalParams.featureCompatibility.isVersionInitialized() && serverGlobalParams.featureCompatibility.getVersion() == - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46 && + ServerGlobalParams::FeatureCompatibility::Version::kVersion451 && !repl::ReplSettings::shouldRecoverFromOplogAsStandalone(); } diff --git a/src/mongo/db/vector_clock.cpp b/src/mongo/db/vector_clock.cpp index 5991ba97671..5ea6b280bed 100644 --- a/src/mongo/db/vector_clock.cpp +++ b/src/mongo/db/vector_clock.cpp @@ -159,8 +159,7 @@ public: Component component) const override { const auto& fcv = serverGlobalParams.featureCompatibility; if (fcv.isVersionInitialized() && - fcv.getVersion() == - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46) { + fcv.getVersion() == ServerGlobalParams::FeatureCompatibility::Version::kVersion451) { return ActualFormat::out(service, opCtx, permitRefresh, out, time, component); } return false; diff --git a/src/mongo/db/wire_version.h b/src/mongo/db/wire_version.h index 35244b7ddda..6e9403cf714 100644 --- a/src/mongo/db/wire_version.h +++ b/src/mongo/db/wire_version.h @@ -79,12 +79,12 @@ enum WireVersion { // Supports resumable initial sync (4.4+). RESUMABLE_INITIAL_SYNC = 9, - // Supports features available from 4.6 and onwards. - WIRE_VERSION_46 = 10, + // Supports features available from 4.5.1 and onwards. + WIRE_VERSION_451 = 10, // Set this to the highest value in this enum - it will be the default maxWireVersion for // the WireSpec values. - LATEST_WIRE_VERSION = WIRE_VERSION_46, + LATEST_WIRE_VERSION = WIRE_VERSION_451, }; /** diff --git a/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp b/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp index 51823aec2be..ab77d891cd8 100644 --- a/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp +++ b/src/mongo/s/commands/cluster_set_feature_compatibility_version_cmd.cpp @@ -72,11 +72,12 @@ public: std::string help() const override { using FCVP = FeatureCompatibilityVersionParser; return str::stream() - << "Set the API version used by this cluster. If set to '" << FCVP::kVersion44 - << "', then " << FCVP::kVersion46 << " features are disabled. If set to '" - << FCVP::kVersion46 << "', then " << FCVP::kVersion46 + << "Set the featureCompatibilityVersion used by this cluster. If set to '" + << FCVP::kVersion44 << "', then " << FCVP::kVersion451 + << " features are disabled. If set to '" << FCVP::kVersion451 << "', then " + << FCVP::kVersion451 << " features are enabled, and all nodes in the cluster must be binary version " - << FCVP::kVersion46 << ". See " + << FCVP::kVersion451 << ". See " << feature_compatibility_version_documentation::kCompatibilityLink << "."; } diff --git a/src/mongo/s/mongos_main.cpp b/src/mongo/s/mongos_main.cpp index e6a91259662..e60aaf53fdb 100644 --- a/src/mongo/s/mongos_main.cpp +++ b/src/mongo/s/mongos_main.cpp @@ -290,7 +290,7 @@ void cleanupTask(const ShutdownTaskArgs& shutdownArgs) { // // TODO SERVER-49138: Remove this FCV check once we branch for 4.8. if (serverGlobalParams.featureCompatibility.isVersion( - ServerGlobalParams::FeatureCompatibility::Version::kFullyUpgradedTo46); + ServerGlobalParams::FeatureCompatibility::Version::kVersion451); auto mongosTopCoord = MongosTopologyCoordinator::get(opCtx)) { mongosTopCoord->enterQuiesceModeAndWait(opCtx, quiesceTime); } diff --git a/src/mongo/shell/feature_compatibility_version.js b/src/mongo/shell/feature_compatibility_version.js index d5deffaf170..b014a3b90d5 100644 --- a/src/mongo/shell/feature_compatibility_version.js +++ b/src/mongo/shell/feature_compatibility_version.js @@ -10,7 +10,7 @@ * multiple times. */ -var latestFCV = "4.6"; +var latestFCV = "4.5.1"; var lastStableFCV = "4.4"; /** |