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

'setIndexCommitQuorum' command has no effect while the index build is waiting for the commit quorum to be satisfied

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.4.7, 5.0.0-rc0, 5.1.0-rc0
    • Affects Version/s: 5.0.0, 4.4.6
    • Component/s: None
    • Labels:
    • Fully Compatible
    • ALL
    • v5.0, v4.4
    • Execution Team 2021-05-31

      There was an issue that came from the field, where the rolling index build procedure was incomplete. This led to one of the secondaries having the index finished, but none of the other nodes had this index.

      Eventually, the same index build was started on the primary. But because the commit quorum default is votingMembers, which is all data-bearing replica set members, the index build was not able to satisfy the commit quorum. This is because the secondary that already had the index built, treated the startIndexBuild oplog entry as a noop.

      In an attempt to get out of this situation, the setIndexCommitQuorum command was used to make the commit quorum satisfactory again. However, it turns out when the index build is already waiting for votes from the other nodes, it doesn't see the change by the setIndexCommitQuorum command. This would also be problematic for normal index build operations that use this command and is not limited to this specific issue.

            gregory.wlodarek@mongodb.com Gregory Wlodarek
            gregory.wlodarek@mongodb.com Gregory Wlodarek
            0 Vote for this issue
            4 Start watching this issue