Allow secondary reads while applying oplog entries

XMLWordPrintableJSON

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

      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.

            Assignee:
            Louis Williams
            Reporter:
            Scott Hernandez (Inactive)
            Votes:
            22 Vote for this issue
            Watchers:
            36 Start watching this issue

              Created:
              Updated:
              Resolved: