hanm opened a new pull request #1069: ZOOKEEPER-3056: Fails to load database 
with missing snapshot file but with valid transaction log file.
URL: https://github.com/apache/zookeeper/pull/1069
 
 
   ZOOKEEPER-2325 introduced a check on snapshot and transaction log files 
during recovery, which will treat empty or missing snapshot files with the 
presence of transaction log files illegal state, and abort start up process. 
   
   For old versions of ZooKeeper, it's possible to have valid transaction log 
files but no snapshot. For example, if snap count set too low, or server 
crashes before the first snapshot was taken. For new versions of ZooKeeper with 
ZOOKEEPER-2325, this is not a problem as ZooKeeper will make sure the presence 
of at least one snapshot file (e.g. on a fresh start with empty local data, 
ZooKeeper will create one snapshot file as part of the start up.).
   
   So we need provide a smooth upgrade path for users with old version of 
ZooKeeper. This patch introduces a system property flag, once set, will skip 
the empty snapshot validation during start up. The flag will reset itself once 
start up is finished, to allow the feature introduced in ZOOKEEPER-2325 
continuing work without restart the ZooKeeper process. The default value of 
this flag is false, as we don't want to disable the features introduced in 
ZOOKEEPER-2325. We also want the flag to be explicitly set by admin, as 
ZooKeeper itself is not able to tell when to trust missing snapshot or not.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to