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

KEEP_MUTATIONS stage is not needed for storage engines supporting doc-level locking

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.8.0-rc5
    • Affects Version/s: None
    • Component/s: Querying
    • Labels:
    • Fully Compatible

      When using the MMAP v1 storage engine, query stages in a saved state receive invalidation notifications when documents get updated or deleted. Some stages flag documents that are deleted. The set of flagged documents is then read by the KEEP_MUTATIONS stage, which re-checks these documents against the query and returns them if they still match.

      The invalidation mechanism described above is used only for MMAP v1; query plans running against storage engines such as WiredTiger never receive invalidations and never flag mutated documents for review by the KEEP_MUTATIONS stage. The planner's analysis phase should only add KEEP_MUTATIONS if the storage engine is MMAP v1.

            david.storch@mongodb.com David Storch
            david.storch@mongodb.com David Storch
            0 Vote for this issue
            1 Start watching this issue