You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Flavio Junqueira (JIRA)" <ji...@apache.org> on 2012/10/14 23:09:03 UTC
[jira] [Commented] (ZOOKEEPER-1520) A txn log record with a corrupt
sentinel byte looks like EOF
[ https://issues.apache.org/jira/browse/ZOOKEEPER-1520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13475902#comment-13475902 ]
Flavio Junqueira commented on ZOOKEEPER-1520:
---------------------------------------------
The patch looks good to me, thanks, Bill. I have a question about how to recover from such errors. With this patch, if there is a corrupt record, then we throw an exception, which I believe would prevent a server from starting. Does it mean that if we get a corrupt record on a given node, we won't be able to recover the data on the disk of that node?
> A txn log record with a corrupt sentinel byte looks like EOF
> ------------------------------------------------------------
>
> Key: ZOOKEEPER-1520
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1520
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.3.5
> Environment: all
> Reporter: Bill Bridge
> Assignee: Bill Bridge
> Priority: Minor
> Labels: newbie, patch
> Fix For: 3.3.6
>
> Attachments: ant.out, checkout.out, init.out, init.out, ZOOKEEPER-1520.patch
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> In Util.readTxnBytes() the sentinel is compared with 0x42 and if it does not match then the record is considered partially written and thus the EOF. However if it is a partial record the sentinel should be 0x00 since that is what the log is initialized with. Any other value would indicate corruption and should throw an IOException rather than indicate EOF. See [ZOOKEEPER-1453|https://issues.apache.org/jira/browse/ZOOKEEPER-1453] for a related issue.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira