We may fail to start up in standalone mode after an unclean shutdown with unfinished index builds. This scenario specifically:
- Replica set node crashes during an index build
- During startup recovery as a replica set node, we drop the index table to rebuild the index, but the node crashes again. This may leave a state with an index in the catalog but a missing index table.
- When starting the node in standalone mode, the following error occurs:
{"t":{"$date":"2022-01-19T14:30:53.262+00:00"},"s":"F", "c":"-", "id":23095, "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28579,"error":"UnsupportedFormat: Unable to find metadata for table:index-0-5696206731032773165 Index: ... - version either too old or too new for this mongod.","file":"src/mongo/db/storage/wiredtiger/wiredtiger_index.cpp","line":526}}
Currently, the only known remediation is "oplog surgery".
We need to ensure that unfinished indexes in standalone mode do not attempt to open the underlying table, and additionally ensure they can be dropped by the user in standalone mode.
- is related to
-
SERVER-67038 Handle missing index idents during startup recovery even if we're not a standalone.
- Closed
-
SERVER-62873 Startup repair does not handle orphaned index catalog entries
- Closed