You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Rakesh R (JIRA)" <ji...@apache.org> on 2014/05/11 00:04:52 UTC

[jira] [Updated] (ZOOKEEPER-837) cyclic dependency ClientCnxn, ZooKeeper

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

Rakesh R updated ZOOKEEPER-837:
-------------------------------

    Component/s: java client

> cyclic dependency ClientCnxn, ZooKeeper
> ---------------------------------------
>
>                 Key: ZOOKEEPER-837
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-837
>             Project: ZooKeeper
>          Issue Type: Sub-task
>          Components: java client
>    Affects Versions: 3.3.1
>            Reporter: Patrick Datko
>            Assignee: Thomas Koch
>             Fix For: 3.5.0
>
>         Attachments: ZOOKEEPER-837.patch, 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 was sent by Atlassian JIRA
(v6.2#6252)