[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: |
|
||||||||||||||||||||||||
| 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 |