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

Allow secondary reads while applying oplog entries

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication, Storage
    • Labels:

      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.

            louis.williams@mongodb.com Louis Williams
            scotthernandez Scott Hernandez (Inactive)
            22 Vote for this issue
            36 Start watching this issue