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

Sijie Guo commented on BOOKKEEPER-62:
-------------------------------------

It seems that it is better to skip the corrupted records.

(1) if the corrupted record is added after last marked journal. we still have 
chance to recover it from journal.
(2) if the corrupted record is added before last marked journal, it seems that 
we have no chance to recover it from journal. But we have replicas for this 
record, bookkeeper client can retry to read other replicas when found the 
record is missing or data corrupted.



> Bookie can not start when encountering corrupted records
> --------------------------------------------------------
>
>                 Key: BOOKKEEPER-62
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-62
>             Project: Bookkeeper
>          Issue Type: Bug
>            Reporter: Sijie Guo
>
> bookie tries to extract ledger ids from entry loggers during starting up. if 
> some records corrupted, an IOException is thrown out.
> in extractLedgersFromEntryLogs function:
> line 459:
>                 int rc = bc.read(buff, pos);
>                 if (rc != data.length) {
>                     throw new IOException("Short read for entryLog " + 
> entryLogId + "@" + pos + "(" + rc + "!="
>                             + data.length + ")");
>                 }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to