You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Abraham Fine (JIRA)" <ji...@apache.org> on 2017/12/15 18:13:00 UTC

[jira] [Assigned] (ZOOKEEPER-2249) CRC check failed when preAllocSize smaller than node data

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Abraham Fine reassigned ZOOKEEPER-2249:
---------------------------------------

    Assignee: Abraham Fine

> CRC check failed when preAllocSize smaller than node data
> ---------------------------------------------------------
>
>                 Key: ZOOKEEPER-2249
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2249
>             Project: ZooKeeper
>          Issue Type: Bug
>            Reporter: Benjamin Jaton
>            Assignee: Abraham Fine
>              Labels: server
>
> Unexpected exception, exiting abnormally 
> java.io.IOException: CRC check failed 
> org.apache.zookeeper.server.persistence.FileTxnLog$FileTxnIterator.next(FileTxnLog.java:612) 
> org.apache.zookeeper.server.persistence.FileTxnSnapLog.restore(FileTxnSnapLog.java:157) 
> org.apache.zookeeper.server.ZKDatabase.loadDataBase(ZKDatabase.java:223) 
> org.apache.zookeeper.server.ZooKeeperServer.loadData(ZooKeeperServer.java:272) 
> org.apache.zookeeper.server.ZooKeeperServer.startdata(ZooKeeperServer.java:399)
> To reproduce, set the preAllocSize to 8MB, the jute.maxbuffer to 20MB and try saving a 15MB node several times.
> In my case the erroneous CRC appears after the second save. I use the LogFormatter class to detect it.
> I suspect that the CRC error happens when the new transaction log is created, the code probably expects to have enough room to save the transaction when creating a new file, but it's too small.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)