Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-82037

Memory used by sorter spills can grow without bound

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Storage Execution
    • ALL

    Description

      A sorter maintains a vector of "iterators" for each range of data that it spills to disk. Each allocation of this FileIterator is 128 bytes, plus the shared_ptr's control block. Thus with enough spills, the amount of memory being used can easily exceed the value configured by maxIndexBuildMemoryUsageMegabytes. This can also be exacerbated by building multiple indexes in a single index build, since the memory limit will be shared among the indexes and thus each one will spill more often.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            gregory.noma@mongodb.com Gregory Noma
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated: