[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13408102#comment-13408102
 ] 

Marshall McMullen commented on ZOOKEEPER-1427:
----------------------------------------------

It seems this only provide atomic write of acceptedEpoch and currentEpoch 
files. What about the other local files like the log and snapshot files? Seems 
like they should be written atomically as well.
                
> Writing to local files is done non-atomically
> ---------------------------------------------
>
>                 Key: ZOOKEEPER-1427
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1427
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.4.3
>            Reporter: Todd Lipcon
>            Assignee: Patrick Hunt
>            Priority: Critical
>             Fix For: 3.4.4, 3.5.0
>
>         Attachments: ZOOKEEPER-1427.patch, ZOOKEEPER-1427.patch, 
> ZOOKEEPER-1427.patch, ZOOKEEPER-1427_br34.patch, ZOOKEEPER-1427_br34.patch, 
> ZOOKEEPER-1427_br34.patch
>
>
> Currently, the writeLongToFile() function opens the file for truncate, writes 
> the new data, syncs, and then closes. If the process crashes after opening 
> the file but before writing the new data, the file may be left empty, causing 
> ZK to "forget" an earlier promise. Instead, it should use RandomAccessFile to 
> avoid truncating.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to