Details

    • Type: Sub-task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.3.1
    • Fix Version/s: 3.6.0, 3.5.5
    • Component/s: java client
    • Labels:
      None
    • Tags:
      cyclic dependency

      Description

      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.

        Attachments

        1. ZOOKEEPER-837.patch
          37 kB
          Thomas Koch
        2. ZOOKEEPER-837.patch
          37 kB
          Thomas Koch
        3. ZOOKEEPER-837.patch
          35 kB
          Thomas Koch
        4. ZOOKEEPER-837.patch
          10 kB
          Thomas Koch
        5. ZOOKEEPER-837.patch
          16 kB
          Thomas Koch

          Issue Links

            Activity

              People

              • Assignee:
                thkoch Thomas Koch
                Reporter:
                ymc-pada Patrick Datko
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: