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

Delete operations should parse queries without holding locks, when possible.

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.6.0-rc2
    • Affects Version/s: 2.6.0-rc1
    • Component/s: Write Ops
    • Labels:

      In SERVER-10159/SERVER-12380, the update paths were modified to parse queries outside the write lock, when possible. This improves concurrency among writes, and between reads and writes, by minimizing time spent with data locks held.

      The same optimization could be applied to the delete path in a straightforward way. See the implementation of the UpdateExecutor and its use in the BatchWriteExecutor for example.

        1. canonicalization_lock.png
          canonicalization_lock.png
          29 kB
        2. canonicalization_lock2.png
          canonicalization_lock2.png
          39 kB
        3. SERVER-12878-249-writelock.png
          SERVER-12878-249-writelock.png
          401 kB
        4. SERVER-12878-rc1-writelock.png
          SERVER-12878-rc1-writelock.png
          175 kB

            Assignee:
            schwerin@mongodb.com Andy Schwerin
            Reporter:
            schwerin@mongodb.com Andy Schwerin
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: