You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2016/04/12 18:19:25 UTC

[jira] [Commented] (KUDU-1414) Corrupting multiple log entries at the end of a WAL file may go undetected

    [ https://issues.apache.org/jira/browse/KUDU-1414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15237482#comment-15237482 ] 

Todd Lipcon commented on KUDU-1414:
-----------------------------------

If there are a trailing series of entries, then isn't the most likely scenario that they were corrupted on their way to the disk (i.e never fsynced) and thus it's correct to truncate them? What's the real-life scenario you're trying to account for?

> Corrupting multiple log entries at the end of a WAL file may go undetected
> --------------------------------------------------------------------------
>
>                 Key: KUDU-1414
>                 URL: https://issues.apache.org/jira/browse/KUDU-1414
>             Project: Kudu
>          Issue Type: Bug
>          Components: log
>    Affects Versions: 0.8.0
>            Reporter: Mike Percy
>
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)