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

Record all indexing errors during simultaneous index builds for later constraint checking

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • Storage Execution
    • 8

      Hybrid index builds only record duplicate key conflicts in a side table for later resolution. With simultaneous index builds, both primary and secondary need to record conflicts in case the secondary becomes primary, so it becomes responsible for constraint checking.

      Today, secondaries also ignore other types of indexing errors to maintain idempotency, and they can guarantee errors will be resolved because the primary cannot send the "createIndexes" oplog entry unless they are.

      With simultaneous indexes, secondaries cannot ignore indexing errors and must also record conflicts in a side table because if a secondary becomes primary, it needs to guarantee that all indexing errors are resolved.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: