[
https://issues.apache.org/jira/browse/ZOOKEEPER-2132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344340#comment-14344340
]
Asad Saeed commented on ZOOKEEPER-2132:
---------------------------------------
Hey Flavio, we had already applied the patch for ZOOKEEPER-1797 before
discovering this bug. The logic to determine log files to delete has not
changed in that patch, meaning it does not read the file to determine if it
contains needed zxids but instead relies on the assumption that log files will
always roll at the time of a snapshot.
> Follower::syncWithLeader should roll logs before taking snapshot
> ----------------------------------------------------------------
>
> Key: ZOOKEEPER-2132
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2132
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.4.6
> Reporter: Asad Saeed
>
> If multiple leader elections occur before SyncRequestProcessor takes a
> snapshot and rolls logs (at least 50000 transactions by default). PurgeTxnLog
> may inadvertently delete the current transaction log file.
> Follower::syncWithLeader currently takes a snapshot after it is synced with
> the leader but does not roll logs. If a zookeeper restart of a quorum of
> nodes occurs, the cluster may silently revert back to the last snapshot,
> loosing all transactions in the log!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)