Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-13213

Investigate changes in SERVER-44174: $push and $addToSet should restrict memory usage

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.3.1, 4.0.14, 3.6.17, 4.2.3
    • manual, Server
    • None

    Description

      Description

      Downstream Change Summary

      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

          Activity

            People

              kay.kim@mongodb.com Kay Kim (Inactive)
              backlog-server-pm Backlog - Core Eng Program Management Team
              Jess Mokrzecki Jess Mokrzecki
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                3 years, 16 weeks, 2 days ago