diff options
Diffstat (limited to 'src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp')
-rw-r--r-- | src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp b/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp index 867ab0c2634..5563223fb0a 100644 --- a/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp +++ b/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp @@ -37,6 +37,7 @@ #include "mongo/s/balancer_configuration.h" #include "mongo/s/catalog/type_chunk.h" #include "mongo/s/grid.h" +#include "mongo/s/sharding_feature_flags_gen.h" #include <fmt/format.h> #include <tuple> @@ -1628,7 +1629,13 @@ std::unique_ptr<DefragmentationPhase> BalancerDefragmentationPolicyImpl::_transi nextPhaseObject = MergeChunksPhase::build(opCtx, coll); break; case DefragmentationPhaseEnum::kSplitChunks: - nextPhaseObject = SplitChunksPhase::build(opCtx, coll); + if (feature_flags::gNoMoreAutoSplitter.isEnabled( + serverGlobalParams.featureCompatibility)) { + _clearDefragmentationState(opCtx, coll.getUuid()); + } else { + nextPhaseObject = SplitChunksPhase::build(opCtx, coll); + } + break; case DefragmentationPhaseEnum::kFinished: _clearDefragmentationState(opCtx, coll.getUuid()); |