[SERVER-5087] reduce required memory for aggregation steps by freeing data that has been returned by $group and $sort Created: 24/Feb/12  Updated: 24/Sep/13  Resolved: 24/Sep/13

Status: Closed
Project: Core Server
Component/s: Aggregation Framework
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Daniel Pasette (Inactive) Assignee: Mathias Stearn
Resolution: Duplicate Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-6862 improve usability of aggregation sort... Closed
Duplicate
duplicates SERVER-6157 Refactor BSONObjExtSort Closed
Related
is related to SERVER-6949 DocumentSourceGroup::dispose() should... Closed
Participants:

 Description   

$group and $sort must take in all their input before they can produce a result.

At present, when the output is produced, it is simply scrolled over by the DocumentSource. We could start freeing values that have been returned by these sources as they are returned. This may be more noticeable (allow more processing) when more than one $group and/or $sort appear in the same pipeline – documents will flow from one to the next, requiring a constant amount of memory, instead of accumulating in each aggregator in the pipeline.



 Comments   
Comment by Mathias Stearn [ 24/Sep/13 ]

yes

Generated at Thu Feb 08 03:07:52 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.