[
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