From 6b4a45e59574735a779086ec8248c274aac1ee11 Mon Sep 17 00:00:00 2001 From: Antonio Fuschetto Date: Tue, 20 Dec 2022 16:36:02 +0000 Subject: SERVER-71884 Drain ongoing resilient movePrimary operations on FCV downgrade --- .../db/commands/set_feature_compatibility_version_command.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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)) { -- cgit v1.2.1