-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
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
-
(copied to CRM)
Issue
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.