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

downgrade_replset.js and minor_version_downgrade_replset.js can fail due to v:2 index

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3.15
    • Component/s: Internal Code
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Query 2016-10-10
    • Linked BF Score:
      0

      Description

      These tests downgrade a replica set after running setFeatureCompatibiliityVersion:"3.2". The sFCV command returns "ok" after dropping a v:2 index on admin.system.version with "majority" writeConcern. This means that after receiving "ok", the index drop will not roll back, and all nodes will eventually become downgrade-able (since a node can only be downgraded until after the v:2 index is dropped). However, not all nodes are immediately downgrade-able. The test can attempt to downgrade a secondary that has not yet applied the dropIndex command. The node fails to start up with an error such as the following:

      [js_test:minor_version_downgrade_replset] 2016-09-22T04:55:49.573+0000 d20011| 2016-09-22T04:55:49.572+0000 F INDEX    [initandlisten] Found an invalid index { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" } on the admin.system.version collection: this version of mongod cannot build new indexes of version number 2
      

      In order to fix, the test should wait for the secondaries to catch up to the primary before attempting to downgrade.

      If an operator encounters this situation in practice, the intention is that she or he restarts the node as 3.4 and tries to downgrade again once it has caught up.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: