summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/document_source_sample.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/document_source_sample.cpp')
-rw-r--r--src/mongo/db/pipeline/document_source_sample.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mongo/db/pipeline/document_source_sample.cpp b/src/mongo/db/pipeline/document_source_sample.cpp
index 5ec204d1fa9..24e86b38cba 100644
--- a/src/mongo/db/pipeline/document_source_sample.cpp
+++ b/src/mongo/db/pipeline/document_source_sample.cpp
@@ -52,8 +52,10 @@ REGISTER_DOCUMENT_SOURCE(sample,
AllowedWithApiStrict::kAlways);
DocumentSource::GetNextResult DocumentSourceSample::doGetNext() {
- if (_size == 0)
+ if (_size == 0) {
+ pSource->dispose();
return GetNextResult::makeEOF();
+ }
if (!_sortStage->isPopulated()) {
// Exhaust source stage, add random metadata, and push all into sorter.