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

Restrict maximum number of in-flight operations

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.0-rc7
    • Component/s: Concurrency, Storage
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible

      Description

      With document-locking storage engines, and even with collection-level locking in MMapV1, the number of lock-holding write operations is no longer bound by the number of databases in the system. This increases the likelihood of a concurrency explosion, where potentially hundreds or thousands of operations are admitted to the storage subsystem simultaneously, and forward progress ends up being limited by scheduling overhead, write conflicts, etc.

      We could constrain this behavior by restricting the number of non-administrative operations allowed to hold the global lock simultaneously. Then, every initial lock acquisition and yield recovery would become an opportunity to constrain forward progress for writes, reads or both.

        Attachments

        1. insert.js
          2 kB
        2. insert.png
          insert.png
          440 kB

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                17 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: