Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.8.0
-
None
-
None
Description
While looking at KUDU-1377, I investigated how we are handling WAL truncation when corruption is detected. The way the code is written today, a trailing series of corrupt log entries are truncated with only a log warning message. I'll post a unit test demonstrating this behavior.
One way to get around this is to ensure that we only accept zeros following a truncated record, instead of just bad records, in order to consider it a partially-written record that we can safely truncate. We would have to maintain this invariant when preallocating space and truncating partial records before continuing to write.