Background index builds on secondaries should set the collection minimumVisibleSnapshot when they start

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.7.5
    • Affects Version/s: 3.7.4
    • Component/s: Storage
    • None
    • Fully Compatible
    • ALL
    • Storage NYC 2018-04-23
    • 18
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      During batch application, starting a background index build on a secondary does not set the minimumVisibleSnapshot on the collection until the index build finishes. If a secondary reader without the PBWM lock reads at a timestamp A before an index build timestamped for B, a reader may iterate through the indexes for a collection and reach this invariant.

      The problem is that _setupInMemoryStructures is called before the actual catalog entry is updated on disk, so a reader may see an in-memory state inconsistent with the state on disk. This can be prevented by updating the minimumVisibleSnapshot on the collection to force readers to wait for a later timestamp.

              Assignee:
              Louis Williams
              Reporter:
              Louis Williams
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: