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

Remove Parallel Batch Writer Mutex

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Replication, Storage
    • Labels:
      None

      Description

      Currently here is my understanding of the PBWM:

      • Primaries take it in IS for all reads and writes. This is unnecessary because it will never conflict with anything
      • Secondaries take it in X around a batch
      • Secondary oplog appliers don't take it at all
      • Snapshot secondary readers never take it
      • Secondary readers only take it in IS if there is no lastApplied to read from

      The lock is only really used to serialize the second and fifth bullets above. It should be fairly straightforward to always have a lastApplied value to read from on secondaries. This extra lock adds a lot of code complexity with very little value and is high value code cleanup.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated: