| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
I noticed some of our GitHub action workflows are throwing deprecation warnings...
Let's have Dependbot open PR's to bump them whenever they're outdated.
We could also enable it for watching our Python deps, but that may be more controversial, so that can be done as a follow-on PR if there's interest.
|
|
|
|
| |
tox-wheel is a deprecated package. tox 4.x includes wheel support.
|
|\
| |
| | |
refactor: Remove vestiges of python2 support
|
| |
| |
| |
| |
| | |
The locks have been moved from `gevent.coros` to `gevent.lock`
since version 1.2 ([see changelog](https://www.gevent.org/changelog_1_2.html#a1-oct-27-2016))
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
| |
os.path.join will do Windows path joining on Windows resulting in bad zookeeper paths
|
|
|
| |
Closes #605
|
|
|
| |
This is to reflect the updated CI pipeline used for the repo
|
|\
| |
| | |
chore(core): Introduce black code formatter
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
* chore: 2.9.0 release and changelog
* chore(ci): override egg_info value when releasing
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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
|
|
|
| |
closes #644 #662 #663
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
fix(recipe): fix deprecation warning from threading.Event
|
|/
|
|
|
|
|
| |
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): Replace Travis with Github Actions
|
|/ |
|
|\
| |
| | |
docs: fix simple typo, untill -> until
|
| |\
| |/
|/| |
|
| |
| |
| | |
DNS resolution errors were previously not retriable, this commit allows it by changing the value returned when the DNS resolution fails.
|
|/
|
|
|
|
| |
There is a small typo in kazoo/recipe/queue.py.
Should read `until` rather than `untill`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| | |
Feat/build coverage
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
chore(core): Update matrix: add pypy3, drop py27
|
| |\ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/ |
|
|/
|
|
|
|
| |
Update .travis.yml definition per warnings.
Tests are now only run on py37, py38 and pypy3.
Bumped Zookeeper to 3.5.8.
|
|
|
| |
Test Kazoo with CPython 2.7, CPython 3.7 and CPython 3.8. Deploy new Kazoo version only on CPython 3.8 job success.
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|
|\
| |
| | |
feat(core): interoperate with Go client
|
| |
| |
| |
| | |
Per https://github.com/houndci/hound/issues/1769
|
| | |
|
| |
| |
| |
| |
| | |
Allows configurable multi-implementations cooperations in locks (e.g.
Zookeeper python & go clients contending for the same lock).
|
|/ |
|