-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Implement bounded range over sample parts using `InternalPlanner::collectionScan` instead of DBDirectClient
Implement chunk reassembly
Add some fallback handling for missed chunks
Something like:
```
auto exec = InternalPlanner::collectionScan(
opCtx,
Coll,
PlanYieldPolicy::YieldPolicy::YIELD_AUTO,
InternalPlanner::FORWARD,
Boost::none,
makeSampleBound(collectionUuid, method, sampleSize, 0),
makeSampleBound(collectionUuid, method, sampleSize, std::numeric_limits<int>::max()));
std::vector<BSONObj> chunks;
BSONObj chunkDoc;
while (exec->getNext(&chunkDoc, nullptr) == PlanExecutor::ADVANCED)
chunks.push_back(chunkDoc.getOwned());
```
- related to
-
SERVER-132041 Investigate if its meaningfully more performant to do a direct read of the samples collection
-
- Needs Scheduling
-