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

Support speculative readConcern behavior in transactions

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.0.0-rc0
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Fully Compatible
    • Repl 2018-04-23, Repl 2018-05-07

      Rather than open at an already-majority-committed snapshot, transactions can open at the last-applied snapshot, allowing back-to-back transactions with w:1 write concern and transactions started after w:1 writes to read the prior writes without stalling for replication. In the event that replication fails, the transaction will abort. Users interested in detecting this failure should commit transactions with w:majority write concern.

      This optimization reduces the write conflict rate for transactions operating on frequently written documents. In exchange, applications that read data during transaction execution and use that data to make decisions outside the database must wait for their transactions to commit with w:majority write concern in order to be certain that the observed data meets the user-requested read concern level. Put more simply, if you don't know that your transaction successfully committed, you should not expect the data you read to be consistent.

            Assignee:
            matthew.russotto@mongodb.com Matthew Russotto
            Reporter:
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

              Created:
              Updated:
              Resolved: