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

commitQuorum incorrectly includes buildIndexes:false nodes and error message incorrectly says that only voting nodes are eligible

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.3.2, 5.0.8, 6.0.0-rc0
    • Affects Version/s: 5.0.0, 4.4.2
    • Component/s: None
    • Labels:
    • Fully Compatible
    • v5.3, v5.0, v4.4
    • Execution Team 2022-03-21

      The commitQuorum option for index builds does not allow non-voting nodes to participate. With the default commitQuorum of "votingMembers", a lagged non-voting secondary, like an analytics node, can fall behind. Other voting nodes will commit, but when this secondary receives a commitIndexBuild oplog entry, it stalls until the index build completes.

      There is currently no way to use commitQuorum to include the non-voting node to prevent this from happening.

      commitQuorum does allow you to include non-voting nodes, however the error message we report "Not enough data-bearing voting nodes to satisfy commit quorum" is incorrect. We should also update the documentation to reflect this.

      This ticket additionally addresses the fact that we permit non-voting buildIndexes:false nodes to be included in a commitQuorum. This is incorrect and buildIndexes:false nodes should never be included, regardless of voting status.

            louis.williams@mongodb.com Louis Williams
            louis.williams@mongodb.com Louis Williams
            1 Vote for this issue
            18 Start watching this issue