Fangmin Lv created ZOOKEEPER-3127:
-------------------------------------
Summary: Fixing potential data inconsistency due to update last
processed zxid with partial multi-op txn
Key: ZOOKEEPER-3127
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3127
Project: ZooKeeper
Issue Type: Bug
Components: server
Affects Versions: 3.4.13, 3.5.4, 3.6.0
Reporter: Fangmin Lv
Fix For: 3.6.0, 3.5.5, 3.4.14
Found this issue while checking the code for another issue, this is a
relatively rare case which we haven't seen it on prod so far.
Currently, the lastProcessedZxid is updated when applying the first txn of
multi-op, if there is a snapshot in progress, it's possible that the zxid
associated with the snapshot only include partial of the multi op.
When loading snapshot, it will only load the txns after the zxid associated
with snapshot file, which could data inconsistency due to missing sub txns.
To avoid this, we only update the lastProcessedZxid when the whole multi-op txn
is applied to DataTree.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)