[
https://issues.apache.org/jira/browse/ZOOKEEPER-2420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ed Rowe updated ZOOKEEPER-2420:
-------------------------------
Description:
Autopurge retains all log files whose zxid are >= the zxid of the oldest
snapshot file that it is going to retain (in PurgeTxnLog
retainNRecentSnapshots()). However, unless there is a log file with the same
zxid as the oldest snapshot file being retained (and whether log file and
snapshot file zxids are equal is timing dependent), loading the database from
snapshots/logs will start with the log file _prior_ to the snapshot's zxid.
Thus, to avoid data loss autopurge should retain the log file prior to the
oldest retained snapshot as well, unless it verifies that it contains no zxids
beyond what the snapshot contains or there is a log file whose zxid == snapshot
zxid.
was:Autopurge retains all log files whose zxid are >= the zxid of the oldest
snapshot file that it is going to retain (in PurgeTxnLog
retainNRecentSnapshots()). Given that loading the database from snapshots/logs
will start with the log file _prior_ to the snapshot's zxid, autopurge should
retain the log file prior to the oldest retained snapshot as well, unless it
verifies that it contains no zxids beyond what the snapshot contains.
> Autopurge deletes log file prior to oldest retained snapshot even though
> restore may need it
> --------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-2420
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2420
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Reporter: Ed Rowe
> Assignee: Ed Rowe
> Attachments: ZOOKEEPER-2420.patch, ZOOKEEPER-2420.patch_v2,
> ZOOKEEPER-2420.patch_v3
>
>
> Autopurge retains all log files whose zxid are >= the zxid of the oldest
> snapshot file that it is going to retain (in PurgeTxnLog
> retainNRecentSnapshots()). However, unless there is a log file with the same
> zxid as the oldest snapshot file being retained (and whether log file and
> snapshot file zxids are equal is timing dependent), loading the database from
> snapshots/logs will start with the log file _prior_ to the snapshot's zxid.
> Thus, to avoid data loss autopurge should retain the log file prior to the
> oldest retained snapshot as well, unless it verifies that it contains no
> zxids beyond what the snapshot contains or there is a log file whose zxid ==
> snapshot zxid.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)