Andrew Grasso created ZOOKEEPER-2325:
----------------------------------------

             Summary: Data inconsistency if all snapshots empty or missing
                 Key: ZOOKEEPER-2325
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2325
             Project: ZooKeeper
          Issue Type: Bug
          Components: server
    Affects Versions: 3.4.6
            Reporter: Andrew Grasso


When loading state from snapshots on startup, FileTxnSnapLog.java ignores the 
result of FileSnap.deserialize, which is -1L if no valid snapshots are found. 
Recovery proceeds with dt.lastProcessed == 0, its initial value.

The result is that Zookeeper will process the transaction logs and then begin 
serving requests with a different state than the rest of the ensemble.

To reproduce:
In a healthy zookeeper cluster of size >= 3, shut down one node.
Either delete all snapshots for this node or change all to be empty files.
Restart the node.

We believe this can happen organically if a node runs out of disk space.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to