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

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

    Attachment: ZOOKEEPER-961.patch

This attachment is intended for branch 3.3.
It prepends the chroot (if any) for all watches in 
SendThread.primeConnection(...).
Also note that the check for closing is done in SendThread.startConnect() after 
the sleep. We still have a potential race between close/connecting, but it's an 
improvement.

> 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: Matthias Spycher
>            Priority: Critical
>             Fix For: 3.3.4, 3.4.0
>
>         Attachments: ZOOKEEPER-961.patch, ZOOKEEPER-961.patch, 
> ZOOKEEPER-961.patch, ZOOKEEPER-961b.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

        

Reply via email to