You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Matthias Spycher (JIRA)" <ji...@apache.org> on 2011/09/12 18:46:10 UTC

[jira] [Updated] (ZOOKEEPER-961) Watch recovery after disconnection when connection string contains a prefix

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Spycher updated ZOOKEEPER-961:
---------------------------------------

    Attachment: ZOOKEEPER-961b.patch

Attachment 961b contains a patch and new test that fixes this issue.
Note that ClientCnxn.java also has a minor change that moves the check for 'closing' in run() after the sleep that was previously part of the startConnect() method.

> Watch recovery after disconnection when connection string contains a prefix
> ---------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-961
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-961
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: java client
>    Affects Versions: 3.3.1
>         Environment: Windows 32 bits
>            Reporter: pmpm47
>            Assignee: Thomas Koch
>            Priority: Critical
>             Fix For: 3.3.4, 3.4.0
>
>         Attachments: ZOOKEEPER-961.patch, ZOOKEEPER-961b.patch
>
>
> Let's say you're using connection string "127.0.0.1:2182/foo".
> 1) put a childrenchanged watch on relative / (that is, on absolute path /foo)
> 2) stop the zk server
> 3) start the zk server
> 4) at this point, the client recovers the connection, and should have put back a watch on relative path /, but instead the client puts a watch on the *absolute* path /
> - if some other client adds or removes a node under /foo, nothing will happen
> - if some other client adds or removes a node under /, then you will get an error from the zk client library (string operation error)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira