[ 
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
(v7.6.3#76005)

Reply via email to