Details
Description
Description
In this ticket we added a 100MB memory limit on accumulators $push and $addToSet. Before this, these accumulators could use unbounded memory in rare cases. The one we noticed was when everything had been spilled to disk, but upon merging the separate files spilled to disk we accumulated more than 100MB worth of data in the array. These accumulators cannot spill to disk, so pipelines which use more than 100MB will fail.
Description of Linked Ticket
SERVER-43944 describes a more pervasive problem, but it's probably the case that $push and $addToSet are the worst offenders and not too difficult to fix. Let's start with those two and leave SERVER-43944 to track the more general problem which is likely more complex.
Scope of changes
Impact to Other Docs
MVP (Work and Date)
Resources (Scope or Design Docs, Invision, etc.)
Attachments
Issue Links
- documents
-
SERVER-44174 $push and $addToSet should restrict memory usage
-
- Closed
-