summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ci: now test and release using Python 3.11feat/python-3.11Stephen Sorriaux2022-10-313-5/+8
|
* recipe(lock): Use native Lock timeout instead of reimplementing (#676)Alex Ungurianu2022-10-291-17/+7
| | | Closes #605
* docs: Replace build badge from Travis to Actions (#675)Alex Ungurianu2022-10-211-1/+1
| | | This is to reflect the updated CI pipeline used for the repo
* Merge pull request #673 from ceache/chore/blackCharles-Henri de Boysson2022-10-1762-1447/+2087
|\ | | | | chore(core): Introduce black code formatter
| * chore: Integrate flake8 & black in gh actionsCharles-Henri de Boysson2022-10-173-9/+43
| |
| * chore: bump pyflake, fix new warningsCharles-Henri de Boysson2022-10-1711-31/+32
| |
| * style: ignore reformatting commits in blameCharles-Henri de Boysson2022-10-172-0/+7
| |
| * style: reformat all code with blackCharles-Henri de Boysson2022-10-1754-1408/+1976
| |
| * chore: add black dependencies to the buildCharles-Henri de Boysson2022-10-175-5/+35
|/
* chore: backport changes from release/2.9 (#674)Stephen Sorriaux2022-10-163-1/+34
| | | | | * chore: 2.9.0 release and changelog * chore(ci): override egg_info value when releasing
* chore(packaging): Remove redundant wheel dep from pyproject.toml (#671)Michał Górny2022-10-091-2/+1
| | | | | | | | Remove the redundant `wheel` dependency, as it is added by the backend automatically. Listing it explicitly in the documentation was a historical mistake and has been fixed since, see: https://github.com/pypa/setuptools/commit/f7d30a9529378cf69054b5176249e5457aaf640a Signed-off-by: Michał Górny <mgorny@gentoo.org>
* chore(ci): testing with Python3.10 and ZK 3.5.10, 3.6.3, 3.7.1 (#659)Stephen Sorriaux2022-10-079-13/+77
| | | | | | | | Testing libs have been upgraded. The used java classpath now considers more .jar possible locations. test_connection.py tests is now done first, trying to make it less flaky. conftest.py has been added to give a way to display ZK cluster logs. Because of ZK 3.6 and 3.7 changes, configurations related to local session has been added. Disable GA fail-fast because of the flakiness
* chore: migrate to setup.cfg (#666)Charles-Henri de Boysson2022-09-3014-137/+141
| | | closes #644 #662 #663
* fix(recipe): fix deadlock in r/w lock recipe (#650)Simon Westphahl2022-02-072-9/+71
| | | | | | | | | | | | | The lock must only consider contenders with a sequence number lower than it's own sequence number as also stated in the Zookeeper recipe description for shared locks[0]. This wasn't working correctly as the ReadLock also considered WriteLocks with a higher sequence number as contenders. This can lead to a deadlock as described in #649. [0]: https://zookeeper.apache.org/doc/r3.7.0/recipes.html#Shared+Locks Closes #649
* fix(core): use selectors to poll connections instead of raw select in ↵Wang2022-02-0210-98/+245
| | | | | | | threading,gevent,eventlet (#656) Co-authored-by: lawrentwang <lawrentwang@tencent.com> Solve the select limitation on a maximum file handler value and dynamic choose the best poller in the system.
* Merge pull request #657 from syseleven/sneubauer/fix-deprecation-warningCharles-Henri de Boysson2021-12-024-9/+9
|\ | | | | fix(recipe): fix deprecation warning from threading.Event
| * fix(recipe): fix deprecation warning from threading.EventSteffen Neubauer2021-12-024-9/+9
|/ | | | | | | reasoning: - `is_set` is supported since Python2.6 (https://docs.python.org/2.7/library/threading.html) - Starting from Python3.5 docs the `isSet` spelling is not even mentioned anymore (https://docs.python.org/3.5/library/threading.html) - Python3.10 will give a deprecation warning when the `isSet` spelling is used (https://docs.python.org/3.10/library/threading.html)
* chore(ci): better specify how to trigger Github Actions (#658)Stephen Sorriaux2021-11-292-2/+13
|
* Merge pull request #652 from python-zk/feat/github-actionsBen Bangert2021-11-2711-38/+143
|\ | | | | chore(ci): Replace Travis with Github Actions
| * chore(ci): Replace Travis with Github Actionsfeat/github-actionsStephen Sorriaux2021-08-0511-38/+143
|/
* Merge pull request #635 from timgates42/bugfix_typo_untilCharles-Henri de Boysson2021-01-241-1/+1
|\ | | | | docs: fix simple typo, untill -> until
| * Merge branch 'master' into bugfix_typo_untilJeff Widman2021-01-201-1/+1
| |\ | |/ |/|
* | feat(core): make DNS resolution error retriable (#631)krishna2021-01-201-1/+1
| | | | | | DNS resolution errors were previously not retriable, this commit allows it by changing the value returned when the DNS resolution fails.
| * docs: fix simple typo, untill -> untilTim Gates2020-12-311-1/+1
|/ | | | | | There is a small typo in kazoo/recipe/queue.py. Should read `until` rather than `untill`.
* fix(core): do not allow responses to choke request and ping processingDamien Diederen2020-12-131-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, a single select event is processed by iteration in the 'ConnectionHandler' event loop. In a scenario where the client issues a large number of async requests with an important amplification factor, e.g. 'get_children_async' on a large node, it is possible for the 'select' operation to almost always return a "response ready" socket--as the server is often able to process, serialize and ship a new reponse while Kazoo processes the previous one. That response socket often (always?) ends up at the beginning of the list returned by 'select'. As only 'select_result[0]' is processed in the loop, this can cause the client to ignore the "request ready" FD for a long time, during which no requests or pings are sent. In effect, asynchronously "browsing" a large tree of nodes can stretch that duration to the point where it exceeds the timeout--causing the client to lose its session. This patch considers both descriptors after 'select', and also arranges for pings to be sent in case it encounters an "unending" stream of responses to requests which were sent earlier.
* chore: 2.8.0 release and changelog (backport missed 2.7.0) (#624)Stephen SORRIAUX2020-07-212-1/+66
|
* fix(core): handle SSL_WANT_READ/WRITE errors (#619)James E. Blair2020-06-271-2/+17
| | | | | | | | | | | This adds a simple recovery path in case an SSL connection receives an SSL_WANT_READ or WRITE error. Either error can occur while reading or writing. The error indicates that the underlying operation should be retried after the socket is once again readable or writable (per the error code). Closes #618 Co-authored-by: James E. Blair <jeblair@redhat.com>
* Merge pull request #617 from ceache/feat/build_coverageCharles-Henri de Boysson2020-06-243-14/+22
|\ | | | | Feat/build coverage
| * Merge branch 'master' into feat/build_coverageCharles-Henri de Boysson2020-06-241-1/+1
| |\ | |/ |/|
* | Merge pull request #616 from ceache/feat/build_refreshCharles-Henri de Boysson2020-06-243-49/+17
|\ \ | | | | | | chore(core): Update matrix: add pypy3, drop py27
| * \ Merge branch 'master' into feat/build_refreshCharles-Henri de Boysson2020-06-241-1/+1
| |\ \ | |/ / |/| |
* | | perf(core): Use chain.from_iterable in threading.py (#614)Ram Rachum2020-06-211-1/+1
| | | | | | | | | | | | | | | | | | This is a faster and more idiomatic way of using itertools.chain. Instead of computing all the items in the iterable and storing them in memory, they are computed one-by-one and never stored as a huge list. This can save on both runtime and memory space.
| | * chore(tests): Add coverage report on codecov.ioCharles-Henri de Boysson2020-06-213-14/+22
| |/
| * chore(core): Update matrix: add pypy3, drop py27Charles-Henri de Boysson2020-06-213-49/+17
|/ | | | | | Update .travis.yml definition per warnings. Tests are now only run on py37, py38 and pypy3. Bumped Zookeeper to 3.5.8.
* feat(tests): add Python 3.8 and remove Python 3.6 from the testing suite (#611)Stephen SORRIAUX2020-05-201-9/+9
| | | Test Kazoo with CPython 2.7, CPython 3.7 and CPython 3.8. Deploy new Kazoo version only on CPython 3.8 job success.
* fix(core): '"is" with a literal' syntax errors (#609)Reid D McKenzie2020-05-181-2/+2
| | | | | | As of Python 3.8, "is" with a literal is a syntax warning because of the confusion between equality and instance identity it represents. Issue #607
* feat(chore): using Github templates for issues and PRs (#610)Stephen SORRIAUX2020-05-113-0/+56
| | | | | Let's make our life a little easier using those templates. See https://help.github.com/en/github/building-a-strong-community/about-issue-and-pull-request-templates for reference.
* Merge pull request #599 from pmazzini/lockCharles-Henri de Boysson2020-04-294-109/+209
|\ | | | | feat(core): interoperate with Go client
| * feat(test): Disable problematic hound-flake8-black integration.Charles-Henri de Boysson2020-04-282-0/+3
| | | | | | | | Per https://github.com/houndci/hound/issues/1769
| * feat(core): Use strict regex to identify lock contenders.Charles-Henri de Boysson2020-04-242-70/+93
| |
| * feat(core): Support additionaal lock contenter patternsCharles-Henri de Boysson2020-04-242-67/+125
| | | | | | | | | | Allows configurable multi-implementations cooperations in locks (e.g. Zookeeper python & go clients contending for the same lock).
| * [lock] interoperate with go clientPablo Mazzini2020-04-242-4/+20
|/
* Merge pull request #604 from ceache/fix/syncCharles-Henri de Boysson2020-04-152-9/+26
|\ | | | | fix(core): sync() return should be unchrooted
| * fix(core): sync() return should be unchrootedCharles-Henri de Boysson2020-04-152-9/+26
|/ | | | Resolves #601
* Merge pull request #598 from ceache/feat/pytestCharles-Henri de Boysson2020-04-1435-1042/+1153
|\ | | | | feat(test): Move to pytest
| * feat(test): Move to pytestCharles-Henri de Boysson2020-04-1435-1042/+1153
|/
* fix(core): allow requests to be queued in CONNECTING state (#374) (#588)Damien Diederen2020-03-093-9/+127
| | | | | | | | | | | | | | With this patch, requests issued while the client is in the 'CONNECTING' state get queued instead of raising a misleading 'SessionExpiredError'. This fixes https://github.com/python-zk/kazoo/issues/374, and brings Kazoo more in line with the Java and C clients. See the 'kazoo.client.KazooClient.state' documentation as well as these discussions for more details: https://github.com/python-zk/kazoo/pull/570#issuecomment-554798550 https://github.com/python-zk/kazoo/pull/583#issuecomment-586422386
* fix(tests): Disable JAAS isInitiator for ServerCharles-Henri de Boysson2020-02-235-55/+56
| | | | | Satisfy new Hound style/lint checks Upgrade to latest 3.5.6/3.4.14 Zookeeper releases.
* fix(tests): deactivate TCP port that was enabled by default.Stephen Sorriaux2020-02-231-0/+2
| | | | Since krb5 1.3 due to switch to Xenial.
* fix(tests): capitalize the default_domain valueStephen Sorriaux2020-02-231-1/+1
|