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
    • Labels:
    • Fully Compatible
    • ALL
    • Hide

      Reproduction script attached. Tested on MMAPv1.

      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.

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