summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/balancer/balancer_defragmentation_policy_impl.cpp
diff options
context:
space:
mode:
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.cpp9
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());