diff options
author | Tommaso Tocci <tommaso.tocci@mongodb.com> | 2022-07-04 11:00:09 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-07-04 11:32:25 +0000 |
commit | b31590bbcaa99e220bfbea6e40fc363ffaf6d82e (patch) | |
tree | 762794782cb03354d620e28d955e65f6bf6c481a | |
parent | 97b232efde7a010104aa91db945019f5f89f53dd (diff) | |
download | mongo-b31590bbcaa99e220bfbea6e40fc363ffaf6d82e.tar.gz |
SERVER-62338 Delete ReshardCollectionCoordinator_NORESILIENT once 6.0 branches out
7 files changed, 7 insertions, 78 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 6d51c8d73c7..7cd065c795a 100644 --- a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp +++ b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp @@ -87,7 +87,6 @@ #include "mongo/logv2/log.h" #include "mongo/rpc/get_status_from_command_result.h" #include "mongo/s/pm2423_feature_flags_gen.h" -#include "mongo/s/resharding/resharding_feature_flag_gen.h" #include "mongo/s/sharding_feature_flags_gen.h" #include "mongo/stdx/unordered_set.h" #include "mongo/util/exit.h" @@ -704,20 +703,6 @@ private: LOGV2(5876101, "Completed removal of internal sessions from config.transactions."); } - // TODO SERVER-62338 Remove when 6.0 branches-out - if (serverGlobalParams.clusterRole == ClusterRole::ShardServer && - !resharding::gFeatureFlagRecoverableShardsvrReshardCollectionCoordinator - .isEnabledOnVersion(requestedVersion)) { - // No more (recoverable) ReshardCollectionCoordinators will start because we - // have already switched the FCV value to kDowngrading. Wait for the ongoing - // ReshardCollectionCoordinators to finish. The fact that the the configsvr has already - // executed 'abortAllReshardCollection' after switching to kDowngrading FCV ensures that - // ReshardCollectionCoordinators will finish (Interrupted) promptly. - ShardingDDLCoordinatorService::getService(opCtx) - ->waitForCoordinatorsOfGivenTypeToComplete( - opCtx, DDLCoordinatorTypeEnum::kReshardCollection); - } - // TODO SERVER-67392: Remove when 7.0 branches-out. if (requestedVersion == GenericFCV::kLastLTS) { NamespaceString indexCatalogNss; diff --git a/src/mongo/db/s/reshard_collection_coordinator.cpp b/src/mongo/db/s/reshard_collection_coordinator.cpp index c0c9648e0a4..e0dec68a1a6 100644 --- a/src/mongo/db/s/reshard_collection_coordinator.cpp +++ b/src/mongo/db/s/reshard_collection_coordinator.cpp @@ -108,8 +108,7 @@ ReshardCollectionCoordinator::ReshardCollectionCoordinator(ShardingDDLCoordinato const BSONObj& initialState, bool persistCoordinatorDocument) : RecoverableShardingDDLCoordinator(service, "ReshardCollectionCoordinator", initialState), - _request(_doc.getReshardCollectionRequest()), - _persistCoordinatorDocument(persistCoordinatorDocument) {} + _request(_doc.getReshardCollectionRequest()) {} void ReshardCollectionCoordinator::checkIfOptionsConflict(const BSONObj& doc) const { const auto otherDoc = ReshardCollectionCoordinatorDocument::parse( @@ -126,13 +125,6 @@ void ReshardCollectionCoordinator::appendCommandInfo(BSONObjBuilder* cmdInfoBuil cmdInfoBuilder->appendElements(_request.toBSON()); } -void ReshardCollectionCoordinator::_enterPhase(Phase newPhase) { - if (!_persistCoordinatorDocument) { - return; - } - RecoverableShardingDDLCoordinator::_enterPhase(newPhase); -} - ExecutorFuture<void> ReshardCollectionCoordinator::_runImpl( std::shared_ptr<executor::ScopedTaskExecutor> executor, const CancellationToken& token) noexcept { @@ -154,15 +146,10 @@ ExecutorFuture<void> ReshardCollectionCoordinator::_runImpl( Grid::get(opCtx)->catalogCache()->getShardedCollectionRoutingInfoWithRefresh( opCtx, nss())); - if (_persistCoordinatorDocument) { - StateDoc newDoc(_doc); - newDoc.setOldShardKey(cmOld.getShardKeyPattern().getKeyPattern().toBSON()); - newDoc.setOldCollectionUUID(cmOld.getUUID()); - _updateStateDocument(opCtx, std::move(newDoc)); - } else { - _doc.setOldShardKey(cmOld.getShardKeyPattern().getKeyPattern().toBSON()); - _doc.setOldCollectionUUID(cmOld.getUUID()); - } + StateDoc newDoc(_doc); + newDoc.setOldShardKey(cmOld.getShardKeyPattern().getKeyPattern().toBSON()); + newDoc.setOldCollectionUUID(cmOld.getUUID()); + _updateStateDocument(opCtx, std::move(newDoc)); ConfigsvrReshardCollection configsvrReshardCollection(nss(), _doc.getKey()); configsvrReshardCollection.setDbName(nss().db()); @@ -204,8 +191,4 @@ ExecutorFuture<void> ReshardCollectionCoordinator::_runImpl( }); } -ReshardCollectionCoordinator_NORESILIENT::ReshardCollectionCoordinator_NORESILIENT( - ShardingDDLCoordinatorService* service, const BSONObj& initialState) - : ReshardCollectionCoordinator(service, initialState, false /* persistCoordinatorDocument */) {} - } // namespace mongo diff --git a/src/mongo/db/s/reshard_collection_coordinator.h b/src/mongo/db/s/reshard_collection_coordinator.h index 085c183dc55..31e2512db6c 100644 --- a/src/mongo/db/s/reshard_collection_coordinator.h +++ b/src/mongo/db/s/reshard_collection_coordinator.h @@ -61,18 +61,7 @@ private: ExecutorFuture<void> _runImpl(std::shared_ptr<executor::ScopedTaskExecutor> executor, const CancellationToken& token) noexcept override; - void _enterPhase(Phase newPhase); - const mongo::ReshardCollectionRequest _request; - - const bool _persistCoordinatorDocument; // TODO: SERVER-62338 remove this then 6.0 branches out -}; - -// TODO: SERVER-62338 remove this then 6.0 branches out -class ReshardCollectionCoordinator_NORESILIENT : public ReshardCollectionCoordinator { -public: - ReshardCollectionCoordinator_NORESILIENT(ShardingDDLCoordinatorService* service, - const BSONObj& initialState); }; } // namespace mongo diff --git a/src/mongo/db/s/sharding_ddl_coordinator.idl b/src/mongo/db/s/sharding_ddl_coordinator.idl index 3a6b35e3eb4..14359fe8e42 100644 --- a/src/mongo/db/s/sharding_ddl_coordinator.idl +++ b/src/mongo/db/s/sharding_ddl_coordinator.idl @@ -52,7 +52,6 @@ enums: kSetAllowMigrations: "setAllowMigrations" kCollMod: "collMod_V2" kReshardCollection: "reshardCollection" - kReshardCollectionNoResilient: "reshardCollectionNoResilient" kCompactStructuredEncryptionData: "compactStructuredEncryptionData" types: diff --git a/src/mongo/db/s/sharding_ddl_coordinator_service.cpp b/src/mongo/db/s/sharding_ddl_coordinator_service.cpp index 3eccbcb3754..42bf4aced00 100644 --- a/src/mongo/db/s/sharding_ddl_coordinator_service.cpp +++ b/src/mongo/db/s/sharding_ddl_coordinator_service.cpp @@ -92,10 +92,6 @@ std::shared_ptr<ShardingDDLCoordinator> constructShardingDDLCoordinatorInstance( case DDLCoordinatorTypeEnum::kReshardCollection: return std::make_shared<ReshardCollectionCoordinator>(service, std::move(initialState)); break; - case DDLCoordinatorTypeEnum::kReshardCollectionNoResilient: - return std::make_shared<ReshardCollectionCoordinator_NORESILIENT>( - service, std::move(initialState)); - break; case DDLCoordinatorTypeEnum::kCompactStructuredEncryptionData: return std::make_shared<CompactStructuredEncryptionDataCoordinator>( service, std::move(initialState)); diff --git a/src/mongo/db/s/shardsvr_reshard_collection_command.cpp b/src/mongo/db/s/shardsvr_reshard_collection_command.cpp index 7902fa61b07..98850a1b511 100644 --- a/src/mongo/db/s/shardsvr_reshard_collection_command.cpp +++ b/src/mongo/db/s/shardsvr_reshard_collection_command.cpp @@ -32,11 +32,9 @@ #include "mongo/db/auth/authorization_session.h" #include "mongo/db/commands.h" -#include "mongo/db/commands/feature_compatibility_version.h" #include "mongo/db/s/reshard_collection_coordinator.h" #include "mongo/db/s/sharding_state.h" #include "mongo/s/request_types/sharded_ddl_commands_gen.h" -#include "mongo/s/resharding/resharding_feature_flag_gen.h" #define MONGO_LOGV2_DEFAULT_COMPONENT ::mongo::logv2::LogComponent::kCommand @@ -75,28 +73,15 @@ public: CommandHelpers::uassertCommandRunWithMajority(Request::kCommandName, opCtx->getWriteConcern()); - // (Generic FCV reference): To run this command and ensure the consistency of the - // metadata we need to make sure we are on a stable state. - uassert( - ErrorCodes::CommandNotSupported, - "Resharding is not supported for this version, please update the FCV to latest.", - !serverGlobalParams.featureCompatibility.isUpgradingOrDowngrading()); const auto reshardCollectionCoordinatorCompletionFuture = [&]() -> SharedSemiFuture<void> { - FixedFCVRegion fixedFcvRegion(opCtx); - const auto coordinatorType = - resharding::gFeatureFlagRecoverableShardsvrReshardCollectionCoordinator - .isEnabled(serverGlobalParams.featureCompatibility) - ? DDLCoordinatorTypeEnum::kReshardCollection - : DDLCoordinatorTypeEnum::kReshardCollectionNoResilient; - ReshardCollectionRequest reshardCollectionRequest = request().getReshardCollectionRequest(); - auto coordinatorDoc = ReshardCollectionCoordinatorDocument(); coordinatorDoc.setReshardCollectionRequest(std::move(reshardCollectionRequest)); - coordinatorDoc.setShardingDDLCoordinatorMetadata({{ns(), coordinatorType}}); + coordinatorDoc.setShardingDDLCoordinatorMetadata( + {{ns(), DDLCoordinatorTypeEnum::kReshardCollection}}); auto service = ShardingDDLCoordinatorService::getService(opCtx); auto reshardCollectionCoordinator = diff --git a/src/mongo/s/resharding/resharding_feature_flag.idl b/src/mongo/s/resharding/resharding_feature_flag.idl index aad768c184b..e83de02e286 100644 --- a/src/mongo/s/resharding/resharding_feature_flag.idl +++ b/src/mongo/s/resharding/resharding_feature_flag.idl @@ -40,11 +40,3 @@ feature_flags: cpp_varname: gFeatureFlagResharding default: true version: 5.0 - - featureFlagRecoverableShardsvrReshardCollectionCoordinator: - description: When enabled, the db primary shard will use a recoverable - ShardingDDLCoordinator that ensures proper serialization of resharding and other DDL - operations even in the event of primary shard stepdowns. - cpp_varname: gFeatureFlagRecoverableShardsvrReshardCollectionCoordinator - default: true - version: 5.3 |