Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-4345

Set corruption and return salvage on facing a missing log file

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Critical - P2 Critical - P2
    • 4.0.5, 4.1.6, WT3.2.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • 5
    • Storage Engines 2018-11-19
    • v4.0

      In WT-4149 the ability to run salvage recovery in the face of a missing (middle) log file in recovery was added. Calling wiredtiger_open and running recovery will detect the missing log file. Calling wiredtiger_open(salvage=true) will recover what it can up to the point of the missing file.

      The problem is that the first call to wiredtiger_open that detects the issue does not return WT_TRY_SALVAGE. Instead it returns WT_PANIC.

      The logging code does not set WT_CONN_DATA_CORRUPTION. And wt_txn_recover returns ENOENT from the recovery attempt.

      The unit test, test_txn19.py is passing because it is looking for the first run to show No such file in the error output. It should verify that WT_TRY_SALVAGE is returned.

            sulabh.mahajan@mongodb.com Sulabh Mahajan
            sue.loverso@mongodb.com Susan LoVerso
            0 Vote for this issue
            8 Start watching this issue