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

Do not rebuild indexes before repairing databases

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.2, 4.1.3
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.0
    • Epic Link:
    • Sprint:
      Storage NYC 2018-08-27

      Description

      repairDatabaseAndCheckVersion calls rebuildIndexes before attempting to call repairDatabase (which also rebuild indexes).

      If there are indexes to rebuild, this will trigger a null pointer dereference as a result of setting the RecordStore to nullptr (intentionally) when the catalog initializes the collections when started with --repair.

      Indexes will be rebuilt if reconcileCatalogAndIdents has an index in the catalog that does not exist in the storage engine. This would normally be safe when starting from an unclean shutdown.

      If the database is started with --repair, do not call rebuildIndexes before repairing databases.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: