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

Primary node stuck waiting for secondary to finish indexBuild when downgrading from 4.4 to 4.2

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • 4.4.13
    • 4.4.16
    • None
    • None
    • Fully Compatible
    • ALL
    • Execution Team 2022-07-11, Execution Team 2022-07-25
    • 0

    Description

      In versions 4.4 and up, we support two-phase index builds meaning that a primary will wait to fully commit an index until the index is built on all secondaries. This is not the case on 4.2; secondaries will not build the index and effectively ignore the "startIndexBuild" oplog entry

      There is a race condition on the primary when setting the index build protocol (single/two-phase) and downgrading the FCV which takes a global lock (whereas setting the protocol does not). So, if the index build protocol is set to two-phase and then we downgrade (on the primary), and then the secondary downgrades before building the index, the primary will wait for a response from the secondary signifying the index was built, but the secondary (on version 4.2 with the single index build protocol) will not build it.

      Attachments

        Activity

          People

            fausto.leyva@mongodb.com Fausto Leyva
            fausto.leyva@mongodb.com Fausto Leyva
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: