[ https://issues.apache.org/jira/browse/ZOOKEEPER-3127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16612748#comment-16612748 ]
Fangmin Lv commented on ZOOKEEPER-3127: --------------------------------------- [~andorm] what's the process for committer to port back the commits? If it cannot be clearly applied we always needs a PR for that? Or if it's very trivial conflict, we just resolve it when CP and commit directly? I manually cherry-picked this one on my MAC, there is a very minor conflict in QuorumPeerMainTest which is about the private/public of logStates method, I'll provide the PR, but I'm more interested to know what's the procedure here. > 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.5.4, 3.6.0, 3.4.13 > Reporter: Fangmin Lv > Assignee: Fangmin Lv > Priority: Critical > Labels: pull-request-available > Fix For: 3.6.0 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > 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)