-
Type: Task
-
Resolution: Gone away
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Storage
-
Execution Team 2020-09-07
The existing repairDatabasesAndCheckVersion is always called at startup. This means that it doesn't always "repair" except when MongoDB is started with --repair. It is also 250 lines long and reaches a nesting depth of 6 in multiple places.
We could improve this by separating it into its components, which would each be called separately in db.cpp.
- Create two different helpers, repairAllDatabases and checkAllDatabases
- Call repairAllDatabases if --repair was provided
- Next, call checkAllDatabases, which should be refactored to its components (in this order):
- Checking data files
- Rebuilding unfinished indexes
- Checking FCV version and non-local databases