[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004344#comment-13004344
 ] 

Mahadev konar commented on ZOOKEEPER-837:
-----------------------------------------

Thomas,
 The watchmanager class does not synchronize on the 
default/existWatches/childWatches always. Any reason for inconsistent 
synchronization.
 
 I am specifically talking abt the following method:

{quote}
    public Set<Watcher> materialize(Watcher.Event.KeeperState state,
                                    Watcher.Event.EventType type,
                                    String clientPath)
{quote}

> cyclic dependency ClientCnxn, ZooKeeper
> ---------------------------------------
>
>                 Key: ZOOKEEPER-837
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-837
>             Project: ZooKeeper
>          Issue Type: Sub-task
>    Affects Versions: 3.3.1
>            Reporter: Patrick Datko
>            Assignee: Thomas Koch
>             Fix For: 3.4.0
>
>         Attachments: ZOOKEEPER-837.patch, ZOOKEEPER-837.patch, 
> ZOOKEEPER-837.patch, ZOOKEEPER-837.patch
>
>
> ZooKeeper instantiates ClientCnxn in its ctor with this and therefor builds a 
> cyclic dependency graph between both objects. This means, you can't have the 
> one without the other. So why did you bother do make them to separate classes 
> in the first place?
> ClientCnxn accesses ZooKeeper.state. State should rather be a property of 
> ClientCnxn. And ClientCnxn accesses zooKeeper.get???Watches() in its method 
> primeConnection(). I've not yet checked, how this dependency should be 
> resolved better.

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

Reply via email to