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

lastVisibleOpTime for committed snapshot needs to be the actual snapshot used for the query

    • Type: Icon: Bug Bug
    • Resolution: Incomplete
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • ALL
    • Repl 11 (03/11/16)

      One of the $replData metadata items returned from a query is the lastVisibleOpTime. This value is currently populated by the optime associated with whatever the current read committed snapshot is at the moment the read query finishes. This is not necessarily the same as the optime associated with the snapshot used for the query, however, since this value can be updated while the query is running.
      We need to record the actual optime used for the first snapshot that the read query uses, for lastVisibleOpTime.
      Note that when queries yield, they can switch snapshots. For correctness with sharding config servers, we must record the optime of the first snapshot used for the query.

            Assignee:
            milkie@mongodb.com Eric Milkie
            Reporter:
            milkie@mongodb.com Eric Milkie
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: