summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/config/initial_split_policy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/config/initial_split_policy.h')
-rw-r--r--src/mongo/db/s/config/initial_split_policy.h25
1 files changed, 4 insertions, 21 deletions
diff --git a/src/mongo/db/s/config/initial_split_policy.h b/src/mongo/db/s/config/initial_split_policy.h
index e492e9c4cb2..ced8d519a13 100644
--- a/src/mongo/db/s/config/initial_split_policy.h
+++ b/src/mongo/db/s/config/initial_split_policy.h
@@ -40,6 +40,7 @@
#include "mongo/s/shard_id.h"
#include "mongo/s/shard_key_pattern.h"
#include "mongo/util/string_map.h"
+
namespace mongo {
struct SplitPolicyParams {
@@ -52,11 +53,6 @@ public:
/**
* Returns the optimization strategy for building initial chunks based on the input parameters
* and the collection state.
- *
- * The 'useAutoSplitter' flag indicates to the initial split strategy selected that in case the
- * collection contains data, it should use the auto splitter to chop that data into chunks
- * respective to the configured chunk size. If set to false, the policy will create as large of
- * chunks as possible.
*/
static std::unique_ptr<InitialSplitPolicy> calculateOptimizationStrategy(
OperationContext* opCtx,
@@ -66,8 +62,7 @@ public:
const boost::optional<std::vector<BSONObj>>& initialSplitPoints,
const std::vector<TagsType>& tags,
size_t numShards,
- bool collectionIsEmpty,
- bool useAutoSplitter = true /* Controlled by FCV, see the comment */);
+ bool collectionIsEmpty);
virtual ~InitialSplitPolicy() {}
@@ -145,7 +140,7 @@ public:
* Split point building strategy to be used when no optimizations are available. We send a
* splitVector command to the primary shard in order to calculate the appropriate split points.
*/
-class AutoSplitInChunksOnPrimaryPolicy : public InitialSplitPolicy {
+class UnoptimizedSplitPolicy : public InitialSplitPolicy {
public:
ShardCollectionConfig createFirstChunks(OperationContext* opCtx,
const ShardKeyPattern& shardKeyPattern,
@@ -290,7 +285,6 @@ public:
public:
virtual ~SampleDocumentSource(){};
virtual boost::optional<BSONObj> getNext() = 0;
- virtual Pipeline* getPipeline_forTest() = 0;
};
// Provides documents from a real Pipeline
@@ -299,9 +293,6 @@ public:
PipelineDocumentSource() = delete;
PipelineDocumentSource(SampleDocumentPipeline pipeline, int skip);
boost::optional<BSONObj> getNext() override;
- Pipeline* getPipeline_forTest() override {
- return _pipeline.get();
- }
private:
SampleDocumentPipeline _pipeline;
@@ -337,21 +328,13 @@ public:
static constexpr int kDefaultSamplesPerChunk = 10;
- static std::unique_ptr<SampleDocumentSource> makePipelineDocumentSource_forTest(
- OperationContext* opCtx,
- const NamespaceString& ns,
- const ShardKeyPattern& shardKey,
- int numInitialChunks,
- int samplesPerChunk);
-
private:
static std::unique_ptr<SampleDocumentSource> _makePipelineDocumentSource(
OperationContext* opCtx,
const NamespaceString& ns,
const ShardKeyPattern& shardKey,
int numInitialChunks,
- int samplesPerChunk,
- MakePipelineOptions opts = {});
+ int samplesPerChunk);
/**
* Returns a set of split points to ensure that chunk boundaries will align with the zone