diff options
author | Antonio Fuschetto <antonio.fuschetto@mongodb.com> | 2022-12-20 16:36:02 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-12-20 17:06:36 +0000 |
commit | 6b4a45e59574735a779086ec8248c274aac1ee11 (patch) | |
tree | fc42733ff6eac63d9ef756626276b03685a56bf9 | |
parent | 25c62c984a801ef4f8aa00a824c109882a8848c9 (diff) | |
download | mongo-6b4a45e59574735a779086ec8248c274aac1ee11.tar.gz |
SERVER-71884 Drain ongoing resilient movePrimary operations on FCV downgrade
-rw-r--r-- | src/mongo/db/commands/set_feature_compatibility_version_command.cpp | 8 |
1 files changed, 8 insertions, 0 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 ea23b56afdc..eb2f021ad4a 100644 --- a/src/mongo/db/commands/set_feature_compatibility_version_command.cpp +++ b/src/mongo/db/commands/set_feature_compatibility_version_command.cpp @@ -444,6 +444,14 @@ private: void _shardServerPhase1Tasks(OperationContext* opCtx, multiversion::FeatureCompatibilityVersion actualVersion, multiversion::FeatureCompatibilityVersion requestedVersion) { + // TODO (SERVER-71309): Remove once 7.0 becomes last LTS. + if (actualVersion > requestedVersion && + !feature_flags::gResilientMovePrimary.isEnabledOnVersion(requestedVersion)) { + ShardingDDLCoordinatorService::getService(opCtx) + ->waitForCoordinatorsOfGivenTypeToComplete(opCtx, + DDLCoordinatorTypeEnum::kMovePrimary); + } + // TODO SERVER-68008: Remove collMod draining mechanism after 7.0 becomes last LTS. if (actualVersion > requestedVersion && !feature_flags::gCollModCoordinatorV3.isEnabledOnVersion(requestedVersion)) { |