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

AutoGetCollectionForRead invariant should permit kNoOverlap read source

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.11
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Fully Compatible
    • ALL
    • Repl 2019-04-22, Repl 2019-05-06
    • 53

      The AutoGetCollectionForRead constructor has an invariant ensuring that either we are reading from the lastApplied timestamp or we have a kMajorityCommitted read source. This invariant can only be reached if there are conflicting catalog changes on the collection that is being read from. Speculative majority change stream reads utilize the kNoOverlap read source, so they will not choose to explicitly read from the lastApplied timestamp, since the no-overlap read source already handles the selection of a proper read timestamp. If there are conflicting catalog changes, though, they will violate the invariant since they are not using a kMajorityCommitted read source. We should extend the invariant to permit the kNoOverlap read source.

            Assignee:
            william.schultz@mongodb.com William Schultz (Inactive)
            Reporter:
            william.schultz@mongodb.com William Schultz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: