Initial sync may fail with IndexOptionsConflict when applying stale startIndexBuild oplog entry

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 7.0.0-rc0, 6.0.17
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • v6.0
    • Execution Team 2023-03-06
    • 2
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Initial sync may fail with IndexOptionsConflict when applying stale startIndexBuild oplog entry if the stale (i.e. dropped) index has the same spec as a more up-to-date index under a different name.

      More specifically, let's say the primary creates {a: 1} with name "a1", drops it, then re-creates the same index with name "a2", and initial sync clones "a2" but later needs to re-apply createIndex of "a1". In this case, initial sync would fail with IndexOptionsConflict when applying "a1".

      SERVER-47164 added code to handle name conflicts during initial sync but it doesn't handle spec conflicts (under different index name).

              Assignee:
              Dianna Hohensee (Inactive)
              Reporter:
              Lingzhi Deng
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: