-
Type: Task
-
Resolution: Done
-
None
-
Affects Version/s: None
-
Component/s: None
This is from SERVER-17569 and SERVER-17613. The database had an unclean shutdown and recovery crashed on startup or running the wt command.
The problem is not with the log file but with a code path in *log_scan that may be tickled by the *wt_log_needs_recovery code. The scenario is that we have a log file where we have a checkpoint as the last "real" record in the log. We have a zero-filled hole and then a bunch more records that were written to the file before crashing. The bug is that when we take the code path in log_scan where we detect the zero-filled hole, we know it's the end of log, but we're not returning WT_NOTFOUND but 0 and the caller is trying to unpack the non-existent record. We need to set eol in that code path so that log_scan properly returns.