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

Allow secondary reads while applying oplog entries

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Duplicate
    • None
    • None
    • Replication, Storage
    • None

    Description

      Currently replication applies batches of oplog entries holding a lock to ensure that no reads can consume data which is not in the same causal order as the primary.

      Instead of locking and blocking readers we can instead use a snapshot for reads from the last consistent replication state and essentially hide all writes until we reach a new consistent state. In addition to detaching replication writes from affecting readers (both users and other replicas) this also allows storage engines to optimize writing of replicated data to improve performance and reduce IO, since all replicated data is transient and disposable until committed.

      Attachments

        Issue Links

          Activity

            People

              louis.williams@mongodb.com Louis Williams
              scotthernandez Scott Hernandez
              Votes:
              22 Vote for this issue
              Watchers:
              36 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: