With the log file format in its current usage, it is generally impossible to distinguish between the case of log record data that has been corrupted and a partial write of the log record. When the log record checksum does not match what is on disk, it can be because of a partial write, so recovery silently truncates the log at that point. So there's no issue of applying incorrect log records, but if there is disk corruption or operational error, we do not report it. We detect/report other kinds of corruption: at the beginning of the log, in the log record header, and many cases of corruption in unused portions of a preallocated log file (see WT-4147).
The best case would be to find a way to detect corruption and report it. Running with recover=salvage would fix the problem (as in WT-3276 and WT-4147).
- is related to
-
WT-4147 Log recovery should not ignore corruption outside of log records in a log file
- Closed