Benjamin Jaton created ZOOKEEPER-2249: -----------------------------------------
Summary: CRC check failed when preAlloc size smaller than node data Key: ZOOKEEPER-2249 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2249 Project: ZooKeeper Issue Type: Bug Reporter: Benjamin Jaton 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.3.4#6332)