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

Log recovery should detect and report corruption within log records

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.9, 4.0.2, 4.1.2, WT3.2.0
    • Affects Version/s: None
    • Component/s: None

      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).

            Assignee:
            donald.anderson@mongodb.com Donald Anderson
            Reporter:
            donald.anderson@mongodb.com Donald Anderson
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: