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

Replicated DDL (catalog) operation during background index build blocks reads/writes

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.4
    • Affects Version/s: 3.0.7, 3.2.0-rc2
    • Component/s: Replication
    • None
    • Fully Compatible
    • ALL
    • Hide

      Reproduction script attached. Tested on MMAPv1.

      Show
      Reproduction script attached. Tested on MMAPv1.
    • Execution Team 2020-03-09

      A replicated dropIndexes operation, performed on a collection that is currently performing a background index build, will block replication and all read operations to that member for the duration of the index build.

      1. Perform a background index build.
      2. Once completed on the primary and once the background build has started on a secondary, run dropIndexes against the primary.
      3. The dropIndexes being a quick operation will replicate to the secondary while the index build is in progress (for any long running index build).
      4. Once the secondary receives the dropIndexes via replication, reads will be blocked across all namespaces and replication will halt. This persists until the background index build completes and the dropIndexes is allowed to execute.

        1. repro.js
          2 kB
          James Wahlin

            Assignee:
            benety.goh@mongodb.com Benety Goh
            Reporter:
            james.wahlin@mongodb.com James Wahlin
            Votes:
            16 Vote for this issue
            Watchers:
            54 Start watching this issue

              Created:
              Updated:
              Resolved: