You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Fangmin Lv (JIRA)" <ji...@apache.org> on 2018/08/23 06:37:00 UTC

[jira] [Created] (ZOOKEEPER-3127) Fixing potential data inconsistency due to update last processed zxid with partial multi-op txn

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)