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

Upgrade path from MongoDB 2.4 to 4.2 causes config servers to go down

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.2.16
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • ALL
    • Execution Team 2021-02-08, Execution Team 2021-02-22, Execution Team 2021-03-08, Execution Team 2021-08-09, Execution Team 2021-08-23


      A customer was upgrading from 2.4 to 4.2 and config servers crash because of a conflicting index name in the lockping collection.

      2020-11-03T10:57:41.080+0000 F - [rsSync-0] Fatal assertion 40184 IndexOptionsConflict: Failed to initialize config database on config server's first transition to primary :: caused by :: couldn't create lockping ping time index on config db :: caused by :: Index with name: ping_1 already exists with a different name at src/mongo/db/repl/replication_coordinator_external_state_impl.cpp 773

      In 2.4.3, a bug caused the "ping_" index to be created (SERVER-9399). Upgrading from 4.0 to 4.2, they crossed the boundary of SERVER-33149 which changed the behavior when an index is created with the same options but of a different name, emitting an error. The secondaries fail to create "ping_1" due to this new behavior. 

      Suggested Fix

      It would be helpful to soften the check on index "ping_1" so upgrading from 2.4 doesn't come across with that error.

            haley.connelly@mongodb.com Haley Connelly
            edwin.zhou@mongodb.com Edwin Zhou
            0 Vote for this issue
            14 Start watching this issue