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

WiredTiger caching strategy needs improvement on Windows

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.0-rc3
    • Component/s: Storage, WiredTiger
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      Windows
    • Steps To Reproduce:
      Hide

      Run MongoDb with WT (tested on 3.1.8 and 3.2RC0) on Windows with a cache size significantly less than physical RAM. Run an insert-heavy workload (I can provide one).

      Show
      Run MongoDb with WT (tested on 3.1.8 and 3.2RC0) on Windows with a cache size significantly less than physical RAM. Run an insert-heavy workload (I can provide one).
    • Sprint:
      Platform C (11/20/15)

      Description

      When deploying MongoDb with WT on Windows OSs, physical memory is exhausted by file system caching, irrespective of WiredTigerCacheSizeGB. This makes it impossible to limit the amount of physical memory used by MongoDb, which means it cannot be deployed alongside other processes on the same physical hardware.

      The file system cache dedicated to WT I/O does not appear to be released under memory stress, and other processes may be starved for memory.

      Once the file system cache has consumed the majority of physical memory, idling MongoDb has no effect on releasing file system memory. The only way to reclaim the file system memory is to restart MongoDb.

      This effectively makes MongoDb with WT unusable as an embedded database - an area I think that MongoDb (the company) underestimates.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                1 Vote for this issue
                Watchers:
                18 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: