Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-432

Various improvements to zkpython bindings

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.2.0
    • contrib-bindings
    • None
    • Reviewed

    Description

      What's new, from the README for this new version:

      ----------------------------------
      More test coverage.

      Better reference counting, fixing at least two serious bugs.

      Out-of-range zhandles are now checked, fixing a potential security hole.

      Docstrings! Editing and cleanup required, but most of the text is there.

      zookeeper.set_watcher is now implemented correctly.

      zookeeper.client_id is now implemented correctly. zookeeper.init now respects the client_id parameter.

      get_context and set_context have been removed from the API. The context mechanism is used by PyZK to store the callables that are dispatched by C-side watchers. Messing with this from Python-side causes bugs very quickly. You should wrap all desired context up in a callable and then use zookeeper.set_watcher to attach it to the global watcher.

      Many methods now have optional parameters (usually if you can specify a watch, it's optional). The only time where genuinely optional parameters are still mandatory is when a required parameters comes after it. Currently we still respect the ZK C client parameter ordering. For example, you can simply connect with zookeeper.init("host:port") and ignore the other three parameters.

      Attachments

        1. ZOOKEEPER-432.patch
          69 kB
          Henry Robinson
        2. ZOOKEEPER-432.patch
          70 kB
          Henry Robinson

        Activity

          People

            henryr Henry Robinson
            henryr Henry Robinson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: