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

Increase journalling capacity limits

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Critical - P2 Critical - P2
    • 3.0.1, 3.1.0
    • Affects Version/s: None
    • Component/s: Concurrency, MMAPv1
    • None
    • Minor Change

      Issue Status as of Mar 10, 2015

      ISSUE SUMMARY
      On MongoDB with the MMAPv1 storage engine, the journalling subsystem warns about large updates exceeding 128MB for 32-bit systems and 256MB for 64-bit systems as follows:

      warning assertion failure a <= 256*1024*1024 src/mongo/util/alignedbuilder.cpp
      

      Concurrent operations updating large documents may exceed the maximum journalling capacity of 256MB for 32-bit systems and 512MB for 64-bit systems. When that limit is exceeded the server shuts down with a log message like the following:

      Assertion failure a <= 512*1024*1024 src/mongo/util/alignedbuilder.cpp 
      

      RESOLUTION DETAILS
      MongoDB versions 3.0.1 and above increase the limits for the journalling capacity for 64-bit systems to warn at 512MB, and shut down at 2000MB with a message like the following:

      I - [durability] error writing journal: too much uncommitted data (2098200576 bytes)
      I - [durability] shutting down immediately to avoid corruption
      I - [durability] Fatal Assertion 28614
      

      The journalling capacity limits for 32-bit systems remain unchanged.

      Original description

      3.0 allows for much higher concurrency than 2.6, so the hardcoded journal limits of 256M for warning and 512M for crash should be increased.

            Assignee:
            geert.bosch@mongodb.com Geert Bosch
            Reporter:
            alex.komyagin@mongodb.com Alexander Komyagin (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: