-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
Sharding 2020-09-21
-
0
The goal of this ticket is to create a function which allows the aggregation pipeline to easily be sent to a remote (donor) shard and for the aggregation pipeline to be unit-testable with DocumentSourceMock. It is preferable to use DocumentSourceXX::create() functions (or DocumentSourceXX::parseFromBSON() when the former isn't available or is too tedious) rather than building it up with string concatenation. DocumentSources can be conditionally added to the Pipeline::SourceContainer, for example, to reflect a stage being added only when resuming on a new cursor.
std::unique_ptr<Pipeline, PipelineDeleter> createConfigTxnCloningPipelineForResharding( mongo::Timestamp fetchTimestamp, /* never isNull() */ BSONObj startAfter, /* expected to be an object of the form {_id: <any>} or isEmpty() */ );
Some of these parameters are probably more appropriate to take by const-ref because their contents can only be copied into the Pipeline anyway.
- has to be done before
-
SERVER-49899 Create config.transactions cloner for resharding
- Closed