[
https://issues.apache.org/jira/browse/ZOOKEEPER-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13792445#comment-13792445
]
Jacky007 commented on ZOOKEEPER-1667:
-------------------------------------
Sorry, I'll do it in the weekend.
> Watch event isn't handled correctly when a client reestablish to a server
> -------------------------------------------------------------------------
>
> Key: ZOOKEEPER-1667
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1667
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.3.6, 3.4.5
> Reporter: Jacky007
> Assignee: Jacky007
> Priority: Blocker
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1667.patch, ZOOKEEPER-1667-r34.patch
>
>
> When a client reestablish to a server, it will send the watches which have
> not been triggered. But the code in DataTree does not handle it correctly.
> It is obvious, we just do not notice it :)
> scenario:
> 1) Client a set a data watch on /d, then disconnect, client b delete /d and
> create it again. When client a reestablish to zk, it will receive a
> NodeCreated rather than a NodeDataChanged.
> 2) Client a set a exists watch on /e(not exist), then disconnect, client b
> create /e. When client a reestablish to zk, it will receive a NodeDataChanged
> rather than a NodeCreated.
--
This message was sent by Atlassian JIRA
(v6.1#6144)