GitHub user lvfangmin opened a pull request:

    https://github.com/apache/zookeeper/pull/610

    [ZOOKEEPER-3124] Remove special logic to handle cversion and pzxid in 
DataTree.processTxn

    There is special logic in the DataTree.processTxn to handle the NODEEXISTS 
when createNode, which is used to handle the cversion and pzxid not being 
updated due to fuzzy snapshot: 
    
    
https://github.com/apache/zookeeper/blob/master/src/java/main/org/apache/zookeeper/server/DataTree.java#L962-L994.
 
    
    But seems this is not a real issue, in the current code, when serializing a 
parent node, we'll lock on it, and take a children snapshot at that time. If 
the child added after the parent is serialized to disk, then it won't be 
written out, so we shouldn't hit the issue where the child is in the snapshot 
but parent cversion and pzxid is not changed.
    
    But maybe I'm missing something, there is not much discussion in the Jira, 
so create a PR to have more attention.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/lvfangmin/zookeeper ZOOKEEPER-3124

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/zookeeper/pull/610.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #610
    
----
commit 53ab8f9773af6b763d246cd13dcd3ddd221e48d8
Author: Fangmin Lyu <allenlyu@...>
Date:   2018-08-28T18:08:28Z

    Pzxid inconsistent issue when replaying a txn for a deleted node

----


---

Reply via email to