You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Thawan Kooburat (JIRA)" <ji...@apache.org> on 2013/09/13 02:02:51 UTC

[jira] [Updated] (ZOOKEEPER-1757) Adler32 may not be sufficient to protect aginst data corruption

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

Thawan Kooburat updated ZOOKEEPER-1757:
---------------------------------------

    Attachment: TEST-org.apache.zookeeper.server.persistence.FileSnapTest.txt
                ZOOKEEPER.1757.patch

Attached a test case that show the example of corrupted snapshot passed Adler32 check. 

I hard coded a seek value trigger this condition. On other environment, the value may have to change by using the random seek. 

In my case, I only need to do a few run to trigger a case that can bypass checksum.

Also attached a sample log file from this unit test run.
                
> Adler32 may not be sufficient to protect aginst data corruption
> ---------------------------------------------------------------
>
>                 Key: ZOOKEEPER-1757
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1757
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>         Environment: Linux.  Oracle JDK6/7
>            Reporter: Thawan Kooburat
>         Attachments: TEST-org.apache.zookeeper.server.persistence.FileSnapTest.txt, ZOOKEEPER.1757.patch
>
>
> I was investigating data inconsistency bug in our internal branch. One possible area is snapshot/txnlog corruption. So I wrote a more robust corruption test and found that it is easy to break our checksum algorithm which is Adler32.
> When this happen, it is more likely that corrupted data will fail other sanity check during deserialization phase, but it is still scary that it can pass the checksum.

--
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