zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Nixon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-3056) Fails to load database with missing snapshot file but valid transaction log file
Date Fri, 08 Jun 2018 18:26:00 GMT

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

Brian Nixon commented on ZOOKEEPER-3056:

We have not run an ensemble without some form of ZOOKEEPER-2325 in years, as such we always
have snapshots available and ZooKeeper being unable to load a valid snapshot is a sign that
something is very wrong.

>From my read on the mail thread there are two questions that we're trying to answer:
- how to update ensembles without snapshots from a pre-2325 to a post-2325 state
- what constitutes a stable db (and what role a snapshot plays in that)

The second ought to take more thought so I'll follow up on that after considering it.

Two possible interventions on the first:
- the base snapshot is very small and simple, one could copy/create a snapshot.0 file to the
appropriate directory before upgrade
- property gate the entire "-1L == deserializeResult" conditional block in 3.4, 3.5, and master
to allow a snapshot-less db. To the extent that we agree that snapshot-less is a degenerate
mode, we also add a 4 letter or admin command to create a snapshot on demand (allowing the
admin to quickly move out of this state post-upgrade)

> Fails to load database with missing snapshot file but valid transaction log file
> --------------------------------------------------------------------------------
>                 Key: ZOOKEEPER-3056
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3056
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.5.3, 3.5.4
>            Reporter: Michael Han
>            Priority: Critical
> [An issue|https://lists.apache.org/thread.html/cc17af6ef05d42318f74148f1a704f16934d1253f1472cccc1a93b4b@%3Cdev.zookeeper.apache.org%3E]
was reported when a user failed to upgrade from 3.4.10 to 3.5.4 with missing snapshot file.
> The code complains about missing snapshot file is [here|https://github.com/apache/zookeeper/blob/release-3.5.4/src/java/main/org/apache/zookeeper/server/persistence/FileTxnSnapLog.java#L206]
which is introduced as part of ZOOKEEPER-2325.
> With this check, ZK will not load the db without a snapshot file, even the transaction
log files are present and valid. This could be a problem for restoring a ZK instance which
does not have a snapshot file but have a sound state (e.g. it crashes before being able to
take the first snap shot with a large snapCount parameter configured).

This message was sent by Atlassian JIRA

View raw message