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.
- is duplicated by
-
WT-4359 txn-recover should return WT_TRY_SALVAGE instead of WT_NOTFOUND in cases where a log files are missing or corrupt
- Closed
- is related to
-
SERVER-37796 Always salvage WiredTiger metadata regardless of error code when starting with repair
- Closed