| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861 |
- Metadata-Version: 2.1
- Name: kazoo
- Version: 2.8.0
- Summary: Higher Level Zookeeper Client
- Home-page: https://kazoo.readthedocs.io
- Author: Kazoo team
- Author-email: python-zk@googlegroups.com
- License: Apache 2.0
- Description: Kazoo
- =====
-
- [](https://travis-ci.org/python-zk/kazoo)
- [](https://pypi.org/project/kazoo/)
- [](https://houndci.com)
-
- `kazoo` implements a higher level API to [Apache
- Zookeeper](http://zookeeper.apache.org/) for Python clients.
-
- See [the full docs](http://kazoo.rtfd.org/) for more information.
-
- License
- -------
-
- `kazoo` is offered under the Apache License 2.0.
-
- Authors
- -------
-
- `kazoo` started under the [Nimbus
- Project](http://www.nimbusproject.org/) and through collaboration with
- the open-source community has been merged with code from
- [Mozilla](http://www.mozilla.org/) and the [Zope
- Corporation](http://zope.com/). It has since gathered an active
- community of over fifty contributors.
-
-
- <a name="2.8.0"></a>
- ## 2.8.0 (2020-07-11)
-
-
- #### Features
-
- * **chore:** using Github templates for issues and PRs (#610) ([eddc0976](https://github.com/python-zk/kazoo/commit/eddc0976bf1ef9d9fb97990cebbc3f9b1abe9d7d))
- * **core:**
- * Use strict regex to identify lock contenders. ([cc8ce892](https://github.com/python-zk/kazoo/commit/cc8ce8929116a1f0a2f0d088afa82ac9576395dc))
- * Support additionaal lock contenter patterns ([225eeecb](https://github.com/python-zk/kazoo/commit/225eeecbe66c10d46dc7928681783d17f389f13a))
- * **tests:**
- * Disable problematic hound-flake8-black integration. ([75f62a0d](https://github.com/python-zk/kazoo/commit/75f62a0dd40a9f9bdefcb04cea5ee5fcd3438c0e))
- * Move to pytest ([de97d74b](https://github.com/python-zk/kazoo/commit/de97d74b50b62cd2f0cddc2a04e150575d9c6bc7))
- * add Python 3.8 and remove Python 3.6 from the testing suite (#611) ([e4f808f7](https://github.com/python-zk/kazoo/commit/e4f808f7f0fe17e7e01468a2c54684f048e12b52))
-
- #### Performance
-
- * **core:** Use chain.from_iterable in threading.py (#614) ([13c73ec5](https://github.com/python-zk/kazoo/commit/13c73ec5f4d4f2215deb987a059051bb821674ca))
-
- #### Bug Fixes
-
- * **core:**
- * handle SSL_WANT_READ/WRITE errors (#619) ([cbdc4749](https://github.com/python-zk/kazoo/commit/cbdc4749edb5879099c1f9b832c055d9eeb52dea), closes [#618](https://github.com/python-zk/kazoo/issues/618))
- * '"is" with a literal' syntax errors (#609) ([6b6ffe62](https://github.com/python-zk/kazoo/commit/6b6ffe62a073d1ed5413c65c2d8ec94ea2fa1760))
- * sync() return should be unchrooted ([cbde70ac](https://github.com/python-zk/kazoo/commit/cbde70ac87435afbbacc9806c675184c7f778343), closes [#601](https://github.com/python-zk/kazoo/issues/601))
-
- #### Chore
-
- * **core:** Update matrix: add pypy3, drop py27 ([522189da](https://github.com/python-zk/kazoo/commit/522189da0f238faafc8f1db34f682f49b15ec503))
- * **tests:** Add coverage report on codecov.io ([bb475843](https://github.com/python-zk/kazoo/commit/bb475843905af1a2d25b1f5834085c85c28bb175))
-
-
-
- <a name="2.7.0"></a>
- ## 2.7.0 (2020-03-13)
-
- #### Features
-
- * **CI:** Keep only Python 3.{6,7} to CI and bump ZK versions to latests (#574) ([c293aabf](https://github.com/python-zk/kazoo/commit/c293aabf39676b94006cf736f9f75392637b8292))
- * **core:**
- * run SASL Kerberos tests as part of build ([5c461bdf](https://github.com/python-zk/kazoo/commit/5c461bdff50efd762805b40fbe283b194d175c61))
- * Add create2 support ([1d81f96a](https://github.com/python-zk/kazoo/commit/1d81f96a77a6fd7ae2476cd798a5cb4bf1c1d9a2))
- * closed states instead of lost states (#573) ([961b2f3b](https://github.com/python-zk/kazoo/commit/961b2f3be557f8314ab41f75444125222638f9cc))
- * improve SASL interface (#546) ([cd49b3fa](https://github.com/python-zk/kazoo/commit/cd49b3fa01136848c5e6bfafb4c241b9704f249d))
- * **recipe:** add support for curator SharedCount recipe (#559) ([88b657a0](https://github.com/python-zk/kazoo/commit/88b657a0977161f3815657878ba48f82a97a3846), closes [#558](https://github.com/python-zk/kazoo/issues/558))
- * **utils:** extend create_tcp_connection utility (#568) ([ab0cd00c](https://github.com/python-zk/kazoo/commit/ab0cd00c12624b07dcc3b2d62aa96f8f1e658f65))
-
- #### Bug Fixes
-
- * **CI:** deploying only for 1 job ([0ba3634d](https://github.com/python-zk/kazoo/commit/0ba3634d99740c9ccc2dd01924a36dffff262f8e))
- * **core:**
- * allow requests to be queued in CONNECTING state (#374) (#588) ([a636d7a6](https://github.com/python-zk/kazoo/commit/a636d7a6bb88ab9080e902983b10c8f0f1bf60a8))
- * Implement proper retry backoff logic with jitter. ([0bb0659c](https://github.com/python-zk/kazoo/commit/0bb0659cf3fd73714a9d75b093a75c7122e116e6))
- * when connection fails, close the ConnectionHandler (#577) (#579) ([c7e80503](https://github.com/python-zk/kazoo/commit/c7e80503f3be97d26ff2de27f9e424070c8181bb))
- * **recipe:** crash if None in znode (#569) ([ded79467](https://github.com/python-zk/kazoo/commit/ded79467a8254e43841dfeb69f7c3baa1980232c))
- * **tests:**
- * Disable JAAS isInitiator for Server ([933b38b5](https://github.com/python-zk/kazoo/commit/933b38b5506d84e05ed6f6c5c8c208a3367400da))
- * deactivate TCP port that was enabled by default. ([d7bed550](https://github.com/python-zk/kazoo/commit/d7bed550fee1b861eb2ee81cc685e6d08ee35c34))
- * capitalize the default_domain value ([7fd22bfd](https://github.com/python-zk/kazoo/commit/7fd22bfd1992b90042db7946949ce992ddfd1821))
- * weaker crypto when configuring Kerberos ([844df87a](https://github.com/python-zk/kazoo/commit/844df87ac83e72c155367cfe4ff4d52d34d46c99))
- * prefix with toxinidir variable with a / to ensure path to ensure-zookeeper-env.sh is correct ([c4d42ca7](https://github.com/python-zk/kazoo/commit/c4d42ca7722dec5332ecd4524e8d802a81e2ddca))
- * specify -Dfile.encoding=UTF-8 when starting the ZK JVM ([5764da0b](https://github.com/python-zk/kazoo/commit/5764da0b3c25556cb6760f68c51b387f2fd8307b))
-
-
-
- <a name="2.6.1"></a>
- ### 2.6.1 (2019-01-22)
-
-
- #### Bug Fixes
-
- * **client:** add missing paren (#550) ([1452a48f](https://github.com/python-zk/kazoo/commit/1452a48f3070fe9034314476a6fdb94ca206dede))
- * **core:**
- * support deprecated KazooRetry argument (#545) ([4242da80](https://github.com/python-zk/kazoo/commit/4242da801e8da7b76d7e88e37c3948f97a2b5aae))
- * reduce timeout for the first Connect() request (#540) ([2ae392e6](https://github.com/python-zk/kazoo/commit/2ae392e69c4b2daca5d8e7f0e79b7ce90423e65c))
- * **handlers:** make AsyncResult call all registered callbacks instantly if the handler has stopped running (#549) ([d9e0e720](https://github.com/python-zk/kazoo/commit/d9e0e7208e56c31f0abec60a3701f8d6ec1e7d32))
- * **recipe:**
- * No more memory leak when ChildrenWatch was stopped (#543) ([37bcda35](https://github.com/python-zk/kazoo/commit/37bcda357463155aba5f2383bc70528413a10f1b))
- * No more memory leak once TreeCache was closed (#524) ([c48f2733](https://github.com/python-zk/kazoo/commit/c48f2733f2a6b2c2941738e4208e8cfede676730))
-
-
-
- <a name="2.6.0"></a>
- ## 2.6.0 (2018-11-14)
-
-
- #### Features
-
- * **core:**
- * add SASL DIGEST-MD5 support ([aa2664b8](https://github.com/python-zk/kazoo/commit/aa2664b880d1456c3ccf6515c6ca42653047e272))
- * Added SSL support (#513) ([35ce1066](https://github.com/python-zk/kazoo/commit/35ce10669ace9d0d7e787793f0d4937d5d389f69))
- * **tests:**
- * update Zookeeper 3.5.2-alpha to 3.5.4-beta ([30330915](https://github.com/python-zk/kazoo/commit/3033091530b8f0aba13a1b8d031a7297e54006c2), closes [#477](https://github.com/python-zk/kazoo/issues/477))
- * update Zookeeper version from 3.4.10 to 3.4.13 ([287749b4](https://github.com/python-zk/kazoo/commit/287749b422c886f69e46d108d2ddbb5ad064773e))
-
- #### Bug Fixes
-
- * **core:**
- * ensure timeout argument is positive (#534) ([8c5ce118](https://github.com/python-zk/kazoo/commit/8c5ce11883a86b15bc6497706cf36abf1b36145f))
- * get_children with include_data=True uses GetChildren2 types (#514) ([901cba7a](https://github.com/python-zk/kazoo/commit/901cba7a40d67ec96c06abe109e3cf51a992b24d))
- * allow authentification in RO and RW modes ([2320ab39](https://github.com/python-zk/kazoo/commit/2320ab391f3804a9ddea9c5c86eb86467bb1dbf8))
- * Use a copy of auth data when reconnecting (#509) ([de20be91](https://github.com/python-zk/kazoo/commit/de20be917855713169863b65a7aa0634fb78b698))
- * change KazooRetry to uniformly jitter over the whole backoff interval (#521) ([60366d2c](https://github.com/python-zk/kazoo/commit/60366d2c7910fc833991fad8e04bbe33817c0544))
- * **recipe:** Delete lock node in queue recipe if entry already consumed ([7a8167de](https://github.com/python-zk/kazoo/commit/7a8167dea381b3a2015c869a443c96b9d5179411))
-
- #### Doc
-
- * make badges link to travis and pypi (#528) ([367a1df3](https://github.com/python-zk/kazoo/commit/367a1df35b3b168580327e9f52a4cb9c000ea750))
- * specify description type for pypi to render correctly ([cc4006e6](https://github.com/python-zk/kazoo/commit/cc4006e6a8ea9441b01a631f3350357a8a2e4088))
- * remove broken downloads badge ([47e07a96](https://github.com/python-zk/kazoo/commit/47e07a9674713b0756bce0811545c4442d40b60b))
- * **core:** fix broken zookeeper programmers guide link ([8ecf8a50](https://github.com/python-zk/kazoo/commit/8ecf8a50c746ab7cc588ce9ac10a91ad1d1e5f34))
-
-
-
- <a name="2.5.0"></a>
- ## 2.5.0 (2018-06-01)
-
-
- #### Performance
-
- * **recipe:** Give TreeCache standalone queue ([4456f180](https://github.com/python-zk/kazoo/commit/4456f180735a0f8520bfc42474de9d27fa01bb2c))
-
- #### Doc
-
- * Correctly document supported versions ([f860de52](https://github.com/python-zk/kazoo/commit/f860de5284e8ba7d0ed4171d9e5c5bef41f6b64d))
- * Add license to Wheel ([43d156de](https://github.com/python-zk/kazoo/commit/43d156de3d41173d7baf6e8edb4efa377b3732fc))
- * minor tweaks to contributing.md (#464) ([5837d11b](https://github.com/python-zk/kazoo/commit/5837d11bb541be1296e1b3c1842b11ceb7e743d4))
-
- #### Features
-
- * **recipe:** allow non ephemeral locking ([6f7a603d](https://github.com/python-zk/kazoo/commit/6f7a603de9f04ec46d9946c6f5b1cb6e2b913b63))
-
- #### Chore
-
- * drop python 2.6 compatible gevent ([2e8dcd38](https://github.com/python-zk/kazoo/commit/2e8dcd3836d01640f07e8de911cdfb3639f97d20))
- * remove debian packaging (#468) ([a28423aa](https://github.com/python-zk/kazoo/commit/a28423aac7f33111388372dec50653a3091b9045))
- * stop bundling virtualenv ([af9b4cab](https://github.com/python-zk/kazoo/commit/af9b4cab39982d961647afca8119816ffe7bf5e6))
- * remove python 3.3 from tox ([cf66474b](https://github.com/python-zk/kazoo/commit/cf66474b27b4efc9f65e292434c2fcffb697d34d))
- * remove `easy_install` instructions ([6e6627d5](https://github.com/python-zk/kazoo/commit/6e6627d58628dec11d127fc5508f9a1d16e9c317))
-
- #### Bug Fixes
-
- * Pass watch as keyword arg instead of positional arg (#495) ([23850792](https://github.com/python-zk/kazoo/commit/2385079267db0bea6793c4f20588644381803a98))
- * need gevent >= 1.2, not > 1.1 ([18f3531b](https://github.com/python-zk/kazoo/commit/18f3531b605119a547cfc4d5a4223b4b3f185405))
- * Remove use of "async" as a variable ([225d3369](https://github.com/python-zk/kazoo/commit/225d3369c7a0736125a9375951a079f70fbe9e79), closes [#455](https://github.com/python-zk/kazoo/issues/455))
- * **core:**
- * Fix gevent 1.3b1+ timeout import ([257b5896](https://github.com/python-zk/kazoo/commit/257b58961f7ddd9db04d6efa070739a1b0404487))
- * Correctly fire multiple callbacks ([0905c47b](https://github.com/python-zk/kazoo/commit/0905c47bff3cfc42382daff0d5ac81189c8ba46d))
- * resolve race in IAsyncResult.wait() (#487) ([4d268adf](https://github.com/python-zk/kazoo/commit/4d268adf9837836f05dde5ec81be0d7bbd759e78))
- * **recipe:**
- * conn hangs when TreeCache refreshing ([11194137](https://github.com/python-zk/kazoo/commit/111941371daec00a2ecb5d8c29b9b1d35d6aa4ff))
- * Unexpected exceptions break TreeCache ([db0c2d4f](https://github.com/python-zk/kazoo/commit/db0c2d4f8ab5ecfb367b7b2accfd9c52c1c91fcd))
-
- #### Refactor
-
- * Unify queue factory in various handlers ([cbd02f5c](https://github.com/python-zk/kazoo/commit/cbd02f5ccc6ea9e6dd6b5da01a0397ea649143a0))
-
-
-
- <a name="2.4.0"></a>
- ## 2.4.0 (2017-06-14)
-
- **PYTHON SUPPORTED VERSIONS CHANGE**: Please note that Kazoo no longer tests
- on Python 2.6 or 3.3. Tested versions are 2.7, 3.4, 3.5, 3.6, and PyPy. The
- multiple endpoint support for KazooClient may not work correctly on 2.6.
-
- #### Bug Fixes
-
- * add missed parens to LockingQueue function call. ([88cf4aa7](https://github.com/python-zk/kazoo/commit/88cf4aa7bcd1437a44f6d3aeec34989c467fcf9d))
- * **core:** revert PR #305 SetWatches which caused RuntimeError ([a7b45390](https://github.com/python-zk/kazoo/commit/a7b45390f3720a33c9ad3896a8a185bfb2628839))
-
- #### Features
-
- * pep8 all the things ([92880342](https://github.com/python-zk/kazoo/commit/928803420721b81962e50d425610e62b0c12e438), closes [#445](https://github.com/python-zk/kazoo/issues/445))
- * drop Python 2.6/3.3 official support, add 3.5/3.6 testing ([2faba9ff](https://github.com/python-zk/kazoo/commit/2faba9ff3bdeff151ac6c922bf65b2dcf9c7bd7b), closes [#441](https://github.com/python-zk/kazoo/issues/441))
- * **core:**
- * allow multiple endpoints in KazooClient hosts arg ([72a8d96c](https://github.com/python-zk/kazoo/commit/72a8d96ca188c3c2e93bd0243283539ebd6c16f1), closes [#411](https://github.com/python-zk/kazoo/issues/411))
- * use epoll when available to support fds > 1023 ([267e61b4](https://github.com/python-zk/kazoo/commit/267e61b4323bc13505e8933fa9b89d0591af3a69), closes [#171](https://github.com/python-zk/kazoo/issues/171))
- * **recipe:** Add TreeCache recipe ([ec8b337e](https://github.com/python-zk/kazoo/commit/ec8b337e6f1a4ff12e669f4b96ca98fb37ee5d8a))
-
-
-
- <a name="2.3.1"></a>
- ## 2.3.1 (2017-06-01)
-
-
- #### Chore
-
- * update MANIFEST.in to reflect changes to filenames ([c9a38c5d](https://github.com/python-zk/kazoo/commit/c9a38c5d650d6d92ff30fd3c1c792fc71db9ce02))
- * add travis deployment and update ZK versions ([7d5d59cb](https://github.com/python-zk/kazoo/commit/7d5d59cb049244b89625d621c9d91d9a44c4b051), closes [#436](https://github.com/python-zk/kazoo/issues/436))
-
- 2.3.0 (2017-05-31)
- ------------------
-
- Please note, there have been a few dozen merges that failed to update the
- changelog here. As such, the log here should not be considered conclusive as
- to the changes that are arriving in 2.3.0.
-
- Changes being made now to ensure more accuracy in the changelog will appear
- in all future versions going forward. Read the commit history for a better
- understanding of changes merged between 2.2.1 and 2.3.0.
-
- All future commits must abide by the new CONTRIBUTING.md document describing
- how to label commits so they can be automatically used to automatically
- generate an accurate changelog.
-
- *WARNING:* THIS IS THE LAST KAZOO RELEASE THAT SUPPORTS PYTHON 2.6. ALL FUTURE
- VERSIONS WILL REQUIRE PYTHON 2.7 AND ABOVE.
-
- ### Features
-
- - allow having observers and different sized clusters
-
- ### Bug Handling
-
- - \#372: fully resolve multiple records for hosts in the zookeeper
- connection string
-
- ### Documentation
-
- - Fix the recipe examples, so they actually work by connecting to
- ZooKeeper. Without start() they just hang and can't be killed.
-
- 2.2.1 (2015-06-17)
- ------------------
-
- ### Bug Handling
-
- - handle NameError with basestring on py3k.
-
- ### Documentation
-
- 2.2 (2015-06-15)
- ----------------
-
- ### Documentation
-
- ### Features
-
- - Issue \#234: Add support for reconfig cluster membership operation
-
- ### Bug Handling
-
- - \#315: multiple acquires of a kazoo lock using the lock recipe would
- block when using acquire even when non-blocking is specified (only
- when the lock was/has been already acquired).
- - \#318: At exit register takes `*args` and `**kwargs` not args and
- kargs
-
- ### Documentation
-
- 2.1 (2015-05-11)
- ----------------
-
- ### Features
-
- - Start running tests against Zookeeper 3.5.0 alpha and explicitly
- configure the admin.serverPort in tests to avoid port conflicts. The
- Zookeeper alpha version is not yet officially supported.
- - Integrate eventlet *handler* support into kazoo so that along with
- [gevent, threading] handlers there can now be a dedicated eventlet
- handler for projects that need to (or want to) use eventlet (such as
- those working in the openstack community). The
- `requirements_eventlet.txt` file lists the optional eventlet
- requirement(s) that needs to be satisfied when this new handler is
- used.
- - Use `six` to nicely handle the cross compatibility of kazoo with
- python 2.x and 3.x (reducing/removing the need to have custom
- compatibility code that replicates what six already provides).
- - Add `state_change_event` to
- `kazoo.recipe.partitioner.SetPartitioner` which is set on every
- state change.
- - Add a NonBlockingLease recipe. The recipe allows e.g. cron jobs
- scheduled on multiple machines to ensure that at most N instances
- will run a particular job, with lease timeout for graceful handover
- in case of node failures.
-
- ### Bug Handling
-
- - \#291: Kazoo lock recipe was only partially re-entrant in that
- multiple calls to acquire would obtain the the lock but the first
- call to release would remove the underlying lock. This would leave
- the X - 1 other acquire statements unprotected (and no longer
- holding there expected lock). To fix this the comment about that
- lock recipe being re-entrant has been removed and multiple acquires
- will now block when attempted.
- - \#78: Kazoo now uses socketpairs instead of pipes making it
- compatible with Windows.
- - \#144, \#221: Let client.command work with IPv6 addresses.
- - \#216: Fixed timeout for ConnectionHandler.\_invoke.
- - \#261: Creating a sequential znode under / doesn't work.
- - \#274: Add server\_version() retries (by default 4 attempts will be
- made) to better handle flakey responses.
- - \#271: Fixed handling of KazooState.SUSPENDED in SetPartitioner.
- - \#283: Fixed a race condition in SetPartitioner when party changes
- during handling of lock acquisition.
- - \#303: don't crash on random input as the hosts string.
-
- ### Documentation
-
- - \#222: Document that committed on the transaction is used to ensure
- only one commit and is not an indicator of whether operations in the
- transaction returned desired results.
-
- 2.0 (2014-06-19)
- ----------------
-
- ### Documentation
-
- - Extend support to Python 3.4, deprecating Python 3.2.
- - Issue \#198: Mention Zake as a sophisticated kazoo mock testing
- library.
- - Issue \#181: Add documentation on basic logging setup.
-
- 2.0b1 (2014-04-24)
- ------------------
-
- ### API Changes
-
- - Null or None data is no longer treated as "". Pull req \#165, patch
- by Raul Gutierrez S. This will affect how you should treat null data
- in a znode vs. an empty string.
- - Passing acl=[] to create() now works properly instead of an
- InvalidACLError as it returned before. Patch by Raul Gutierrez S in
- PR \#164.
- - Removed the dependency on zope.interface. The classes in the
- interfaces module are left for documentation purposes only (issue
- \#131).
-
- ### Features
-
- - Logging levels have been reduced.
- - Logging previously at the `logging.DEBUG` level is now logged at
- the `kazoo.loggingsupport.BLATHER` level (5).
- - Some low-level logging previously at the `logging.INFO` level is
- now logged at the `logging.DEBUG` level.
- - Issue \#133: Introduce a new environment variable
- ZOOKEEPER\_PORT\_OFFSET for the testing support, to run the testing
- cluster on a different range.
-
- ### Bug Handling
-
- - When authenticating via add\_auth() the auth data will be saved to
- ensure that the authentication happens on reconnect (as is the case
- when feeding auth data via KazooClient's constructor). PR \#172,
- patch by Raul Gutierrez S.
- - Change gevent import to remove deprecation warning when newer gevent
- is used. PR \#191, patch by Hiroaki Kawai.
- - Lock recipe was failing to use the client's sleep\_func causing
- issues with gevent. Issue \#150.
- - Calling a DataWatch or ChildrenWatch instance twice (decorator) now
- throws an exception as only a single function can be associated with
- a single watcher. Issue \#154.
- - Another fix for atexit handling so that when disposing of
- connections the atexit handler is removed. PR \#190, patch by Devaev
- Maxim.
- - Fix atexit handling for kazoo threading handler, PR \#183. Patch by
- Brian Wickman.
- - Partitioner should handle a suspended connection properly and
- restore an allocated state if it was allocated previously. Patch by
- Manish Tomar.
- - Issue \#167: Closing a client that was never started throws a type
- error. Patch by Joshua Harlow.
- - Passing dictionaries to KazooClient.\_\_init\_\_() wasn't actually
- working properly. Patch by Ryan Uber.
- - Issue \#119: Handler timeout takes the max of the random interval or
- the read timeout to ensure a negative number isn't used for the read
- timeout.
- - Fix ordering of exception catches in lock.acquire as it was
- capturing a parent exception before the child. Patch by ReneSac.
- - Fix issue with client.stop() not always setting the client state to
- KeeperState.CLOSED. Patch by Jyrki Pulliainen in PR \#174.
- - Issue \#169: Fixed pipes leaking into child processes.
-
- ### Documentation
-
- - Add section on contributing recipes, add maintainer/status
- information for existing recipes.
- - Add note about alternate use of DataWatch.
-
- 1.3.1 (2013-09-25)
- ------------------
-
- ### Bug Handling
-
- - \#118, \#125, \#128: Fix unknown variable in KazooClient
- command\_retry argument handling.
- - \#126: Fix KazooRetry.copy to correctly copy sleep function.
- - \#118: Correct session/socket timeout conversion (int vs. float).
-
- ### Documentation
-
- - \#121: Add a note about kazoo.recipe.queue.LockingQueue requiring a
- Zookeeper 3.4+ server.
-
- 1.3 (2013-09-05)
- ----------------
-
- ### Features
-
- - \#115: Limit the backends we use for SLF4J during tests.
- - \#112: Add IPv6 support. Patch by Dan Kruchinin.
-
- 1.2.1 (2013-08-01)
- ------------------
-
- ### Bug Handling
-
- - Issue \#108: Circular import fail when importing
- kazoo.recipe.watchers directly has now been resolved. Watchers and
- partitioner properly import the KazooState from
- kazoo.protocol.states rather than kazoo.client.
- - Issue \#109: Partials not usable properly as a datawatch call can
- now be used. All funcs will be called with 3 args and fall back to 2
- args if there's an argument error.
- - Issue \#106, \#107: client.create\_async didn't strip change root
- from the returned path.
-
- 1.2 (2013-07-24)
- ----------------
-
- ### Features
-
- - KazooClient can now be stopped more reliably even if its in the
- middle of a long retry sleep. This utilizes the new interrupt
- feature of KazooRetry which lets the sleep be broken down into
- chunks and an interrupt function called to determine if the retry
- should fail early.
- - Issue \#62, \#92, \#89, \#101, \#102: Allow KazooRetry to have a max
- deadline, transition properly when connection fails to LOST, and
- setup separate connection retry behavior from client command retry
- behavior. Patches by Mike Lundy.
- - Issue \#100: Make it easier to see exception context in threading
- and connection modules.
- - Issue \#85: Increase information density of logs and don't prevent
- dynamic reconfiguration of log levels at runtime.
- - Data-watchers for the same node are no longer 'stacked'. That is, if
- a get and an exists call occur for the same node with the same watch
- function, then it will be registered only once. This change results
- in Kazoo behaving per Zookeeper client spec regarding repeat watch
- use.
-
- ### Bug Handling
-
- - Issue \#53: Throw a warning upon starting if the chroot path doesn't
- exist so that it's more obvious when the chroot should be created
- before performing more operations.
- - Kazoo previously would let the same function be registered as a
- data-watch or child-watch multiple times, and then call it multiple
- times upon being triggered. This was non-compliant Zookeeper client
- behavior, the same watch can now only be registered once for the
- same znode path per Zookeeper client documentation.
- - Issue \#105: Avoid rare import lock problems by moving module
- imports in client.py to the module scope.
- - Issue \#103: Allow prefix-less sequential znodes.
- - Issue \#98: Extend testing ZK harness to work with different file
- locations on some versions of Debian/Ubuntu.
- - Issue \#97: Update some docstrings to reflect current state of
- handlers.
- - Issue \#62, \#92, \#89, \#101, \#102: Allow KazooRetry to have a max
- deadline, transition properly when connection fails to LOST, and
- setup separate connection retry behavior from client command retry
- behavior. Patches by Mike Lundy.
-
- ### API Changes
-
- - The kazoo.testing.harness.KazooTestHarness class directly inherits
- from unittest.TestCase and you need to ensure to call its
- \_\_init\_\_ method.
- - DataWatch no longer takes any parameters besides for the optional
- function during instantiation. The additional options are now
- implicitly True, with the user being left to ignore events as they
- choose. See the DataWatch API docs for more information.
- - Issue \#99: Better exception raised when the writer fails to close.
- A WriterNotClosedException that inherits from KazooException is now
- raised when the writer fails to close in time.
-
- 1.1 (2013-06-08)
- ----------------
-
- ### Features
-
- - Issue \#93: Add timeout option to lock/semaphore acquire methods.
- - Issue \#79 / \#90: Add ability to pass the WatchedEvent to DataWatch
- and ChildWatch functions.
- - Respect large client timeout values when closing the connection.
- - Add a max\_leases consistency check to the semaphore recipe.
- - Issue \#76: Extend testing helpers to allow customization of the
- Java classpath by specifying the new ZOOKEEPER\_CLASSPATH
- environment variable.
- - Issue \#65: Allow non-blocking semaphore acquisition.
-
- ### Bug Handling
-
- - Issue \#96: Provide Windows compatibility in testing harness.
- - Issue \#95: Handle errors deserializing connection response.
- - Issue \#94: Clean up stray bytes in connection pipe.
- - Issue \#87 / \#88: Allow re-acquiring lock after cancel.
- - Issue \#77: Use timeout in initial socket connection.
- - Issue \#69: Only ensure path once in lock and semaphore recipes.
- - Issue \#68: Closing the connection causes exceptions to be raised by
- watchers which assume the connection won't be closed when running
- commands.
- - Issue \#66: Require ping reply before sending another ping,
- otherwise the connection will be considered dead and a
- ConnectionDropped will be raised to trigger a reconnect.
- - Issue \#63: Watchers weren't reset on lost connection.
- - Issue \#58: DataWatcher failed to re-register for changes after
- non-existent node was created then deleted.
-
- ### API Changes
-
- - KazooClient.create\_async now supports the makepath argument.
- - KazooClient.ensure\_path now has an async version,
- ensure\_path\_async.
-
- 1.0 (2013-03-26)
- ----------------
-
- ### Features
-
- - Added a LockingQueue recipe. The queue first locks an item and
- removes it from the queue only after the consume() method is called.
- This enables other nodes to retake the item if an error occurs on
- the first node.
-
- ### Bug Handling
-
- - Issue \#50: Avoid problems with sleep function in mixed
- gevent/threading setup.
- - Issue \#56: Avoid issues with watch callbacks evaluating to false.
-
- 1.0b1 (2013-02-24)
- ------------------
-
- ### Features
-
- - Refactored the internal connection handler to use a single thread.
- It now uses a deque and pipe to signal the ZK thread that there's a
- new command to send, so that the ZK thread can send it, or retrieve
- a response. Processing ZK requests and responses serially in a
- single thread eliminates the need for a bunch of the locking, the
- peekable queue and two threads working on the same underlying
- socket.
- - Issue \#48: Added documentation for the retry helper module.
- - Issue \#55: Fix os.pipe file descriptor leak and introduce a
- KazooClient.close method. The method is particular useful in tests,
- where multiple KazooClients are created and closed in the same
- process.
-
- ### Bug Handling
-
- - Issue \#46: Avoid TypeError in GeneratorContextManager on process
- shutdown.
- - Issue \#43: Let DataWatch return node data if allow\_missing\_node
- is used.
-
- 0.9 (2013-01-07)
- ----------------
-
- ### API Changes
-
- - When a retry operation ultimately fails, it now raises a
- kazoo.retry.RetryFailedError exception, instead of a general
- Exception instance. RetryFailedError also inherits from the base
- KazooException.
-
- ### Features
-
- - Improvements to Debian packaging rules.
-
- ### Bug Handling
-
- - Issue \#39 / \#41: Handle connection dropped errors during session
- writes. Ensure client connection is re-established to a new ZK node
- if available.
- - Issue \#38: Set CLOEXEC flag on all sockets when available.
- - Issue \#37 / \#40: Handle timeout errors during select calls on
- sockets.
- - Issue \#36: Correctly set ConnectionHandler.writer\_stopped even if
- an exception is raised inside the writer, like a retry operation
- failing.
-
- 0.8 (2012-10-26)
- ----------------
-
- ### API Changes
-
- - The KazooClient.\_\_init\_\_ took as watcher argument as its second
- keyword argument. The argument had no effect anymore since version
- 0.5 and was removed.
-
- ### Bug Handling
-
- - Issue \#35: KazooClient.\_\_init\_\_ didn't pass on
- retry\_max\_delay to the retry helper.
- - Issue \#34: Be more careful while handling socket connection errors.
-
- 0.7 (2012-10-15)
- ----------------
-
- ### Features
-
- - DataWatch now has a allow\_missing\_node setting that allows a watch
- to be set on a node that doesn't exist when the DataWatch is
- created.
- - Add new Queue recipe, with optional priority support.
- - Add new Counter recipe.
- - Added debian packaging rules.
-
- ### Bug Handling
-
- - Issue \#31 fixed: Only catch KazooExceptions in catch-all calls.
- - Issue \#15 fixed again: Force sleep delay to be a float to appease
- gevent.
- - Issue \#29 fixed: DataWatch and ChildrenWatch properly re-register
- their watches on server disconnect.
-
- 0.6 (2012-09-27)
- ----------------
-
- ### API Changes
-
- - Node paths are assumed to be Unicode objects. Under Python 2
- pure-ascii strings will also be accepted. Node values are considered
- bytes. The byte type is an alias for str under Python 2.
- - New KeeperState.CONNECTED\_RO state for Zookeeper servers connected
- in read-only mode.
- - New NotReadOnlyCallError exception when issuing a write change
- against a server thats currently read-only.
-
- ### Features
-
- - Add support for Python 3.2, 3.3 and PyPy (only for the threading
- handler).
- - Handles connecting to Zookeeper 3.4+ read-only servers.
- - Automatic background scanning for a Read/Write server when connected
- to a server in read-only mode.
- - Add new Semaphore recipe.
- - Add a new retry\_max\_delay argument to the client and by default
- limit the retry delay to at most an hour regardless of exponential
- backoff settings.
- - Add new randomize\_hosts argument to KazooClient, allowing one to
- disable host randomization.
-
- ### Bug Handling
-
- - Fix bug with locks not handling intermediary lock contenders
- disappearing.
- - Fix bug with set\_data type check failing to catch unicode values.
- - Fix bug with gevent 0.13.x backport of peekable queue.
- - Fix PatientChildrenWatch to use handler specific sleep function.
-
- 0.5 (2012-09-06)
- ----------------
-
- Skipping a version to reflect the magnitude of the change. Kazoo is now
- a pure Python client with no C bindings. This release should run without
- a problem on alternate Python implementations such as PyPy and Jython.
- Porting to Python 3 in the future should also be much easier.
-
- ### Documentation
-
- - Docs have been restructured to handle the new classes and locations
- of the methods from the pure Python refactor.
-
- ### Bug Handling
-
- This change may introduce new bugs, however there is no longer the
- possibility of a complete Python segfault due to errors in the C library
- and/or the C binding.
-
- - Possible segfaults from the C lib are gone.
- - Password mangling due to the C lib is gone.
- - The party recipes didn't set their participating flag to False after
- leaving.
-
- ### Features
-
- - New client.command and client.server\_version API, exposing
- Zookeeper's four letter commands and giving access to structured
- version information.
- - Added 'include\_data' option for get\_children to include the node's
- Stat object.
- - Substantial increase in logging data with debug mode. All
- correspondence with the Zookeeper server can now be seen to help in
- debugging.
-
- ### API Changes
-
- - The testing helpers have been moved from testing.\_\_init\_\_ into a
- testing.harness module. The official API's of KazooTestCase and
- KazooTestHarness can still be directly imported from testing.
- - The kazoo.handlers.util module was removed.
- - Backwards compatible exception class aliases are provided for now in
- kazoo exceptions for the prior C exception names.
- - Unicode strings now work fine for node names and are properly
- converted to and from unicode objects.
- - The data value argument for the create and create\_async methods of
- the client was made optional and defaults to an empty byte string.
- The data value must be a byte string. Unicode values are no longer
- allowed and will raise a TypeError.
-
- 0.3 (2012-08-23)
- ----------------
-
- ### API Changes
-
- - Handler interface now has an rlock\_object for use by recipes.
-
- ### Bug Handling
-
- - Fixed password bug with updated zc-zookeeper-static release, which
- retains null bytes in the password properly.
- - Fixed reconnect hammering, so that the reconnection follows retry
- jitter and retry backoff's.
- - Fixed possible bug with using a threading.Condition in the set
- partitioner. Set partitioner uses new rlock\_object handler API to
- get an appropriate RLock for gevent.
- - Issue \#17 fixed: Wrap timeout exceptions with staticmethod so they
- can be used directly as intended. Patch by Bob Van Zant.
- - Fixed bug with client reconnection looping indefinitely using an
- expired session id.
-
- 0.2 (2012-08-12)
- ----------------
-
- ### Documentation
-
- - Fixed doc references to start\_async using an AsyncResult object, it
- uses an Event object.
-
- ### Bug Handling
-
- - Issue \#16 fixed: gevent zookeeper logging failed to handle a monkey
- patched logging setup. Logging is now setup such that a greenlet is
- used for logging messages under gevent, and the thread one is used
- otherwise.
- - Fixed bug similar to \#14 for ChildrenWatch on the session listener.
- - Issue \#14 fixed: DataWatch had inconsistent handling of the node it
- was watching not existing. DataWatch also properly spawns its
- \_get\_data function to avoid blocking session events.
- - Issue \#15 fixed: sleep\_func for SequentialGeventHandler was not
- set on the class appropriately leading to additional arguments being
- passed to gevent.sleep.
- - Issue \#9 fixed: Threads/greenlets didn't gracefully shut down.
- Handler now has a start/stop that is used by the client when calling
- start and stop that shuts down the handler workers. This addresses
- errors and warnings that could be emitted upon process shutdown
- regarding a clean exit of the workers.
- - Issue \#12 fixed: gevent 0.13 doesn't use the same
- start\_new\_thread as gevent 1.0 which resulted in a fully
- monkey-patched environment halting due to the wrong thread. Updated
- to use the older kazoo method of getting the real thread module
- object.
-
- ### API Changes
-
- - The KazooClient handler is now officially exposed as
- KazooClient.handler so that the appropriate sync objects can be used
- by end-users.
- - Refactored ChildrenWatcher used by SetPartitioner into a publicly
- exposed PatientChildrenWatch under recipe.watchers.
-
- ### Deprecations
-
- - connect/connect\_async has been renamed to start/start\_async to
- better match the stop to indicate connection handling. The prior
- names are aliased for the time being.
-
- ### Recipes
-
- - Added Barrier and DoubleBarrier implementation.
-
- 0.2b1 (2012-07-27)
- ------------------
-
- ### Bug Handling
-
- - ZOOKEEPER-1318: SystemError is caught and rethrown as the proper
- invalid state exception in older zookeeper python bindings where
- this issue is still valid.
- - ZOOKEEPER-1431: Install the latest zc-zookeeper-static library or
- use the packaged ubuntu one for ubuntu 12.04 or later.
- - ZOOKEEPER-553: State handling isn't checked via this method, we
- track it in a simpler manner with the watcher to ensure we know the
- right state.
-
- ### Features
-
- - Exponential backoff with jitter for retrying commands.
- - Gevent 0.13 and 1.0b support.
- - Lock, Party, SetPartitioner, and Election recipe implementations.
- - Data and Children watching API's.
- - State transition handling with listener registering to handle
- session state changes (choose to fatal the app on session
- expiration, etc.)
- - Zookeeper logging stream redirected into Python logging channel
- under the name 'Zookeeper'.
- - Base client library with handler support for threading and gevent
- async environments.
-
-
- Keywords: zookeeper lock leader configuration
- Platform: UNKNOWN
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: License :: OSI Approved :: Apache Software License
- Classifier: Intended Audience :: Developers
- Classifier: Operating System :: OS Independent
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 2
- Classifier: Programming Language :: Python :: 2.7
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.4
- Classifier: Programming Language :: Python :: 3.5
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: Implementation :: CPython
- Classifier: Programming Language :: Python :: Implementation :: PyPy
- Classifier: Topic :: Communications
- Classifier: Topic :: System :: Distributed Computing
- Classifier: Topic :: System :: Networking
- Description-Content-Type: text/markdown
- Provides-Extra: test
- Provides-Extra: sasl
|