| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| | |
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
|
| | |
|
|/
|
|
| |
the cluster loop, fixed "cannot pickle '_thread.lock' object" bug, added client's side failover handling improvements
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove buffering from asyncio SocketBuffer and rely on on the underlying StreamReader
* Skip the use of SocketBuffer in PythonParser
* Remove SocketBuffer altogether
* Code cleanup
* Fix unittest mocking when SocketBuffer is gone
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`PubSub.get_message()` to wait forever (#2295)
* Avoid an extra "can_read" call and use timeout directly.
* Remove low-level read timeouts from the Parser, now handled in the Connection
* Allow pubsub.get_message(time=None) to block.
* update Changes
* increase test timeout for robustness
* expand with statement to avoid invoking null context managers.
remove nullcontext
* Remove unused import
|
|
|
|
|
|
|
|
| |
* make can_read() destructive for simplicity, and rename the method.
Remove timeout argument, always timeout immediately.
* don't use can_read in pubsub
* connection.connect() now has its own retry, don't need it inside a retry loop
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Don't wait for disconnect() when handling errors.
This can result in other errors such as timeouts.
* add CHANGES
* Update redis/asyncio/connection.py
Co-authored-by: Aarni Koskela <akx@iki.fi>
* await a task to try to diagnose unittest failures in CI
Co-authored-by: Aarni Koskela <akx@iki.fi>
|
|
|
|
|
|
|
| |
* Add failing unittests for passing BaseException through
* Resolve failing unittest
* Remove redundant checks for asyncio.CancelledError
|
|
|
|
|
| |
* Remove async lock in asyncio.Connection.read_response
* Skip concurrent-commands test on non-pooled connections
|
| |
|
| |
|
|
|
| |
Fixes #2237
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Avoid mutating a global retry_on_error list
* Make retries config consistent in sync and async
* Fix async retries
* Add new TestConnectionConstructorWithRetry tests
|
| |
|
|
|
|
|
|
|
| |
* async_cluster: add/update typing
* async_cluster: update cleanup_kwargs with kwargs from async Connection
* async_cluster: properly remove old nodes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Copy Cluster Client, Commands, Commands Parser, Tests for asyncio
* Async Cluster Tests: Async/Await
* Add Async RedisCluster
* cluster: use ERRORS_ALLOW_RETRY from self.__class__
* async_cluster: rework redis_connection, initialize, & close
- move redis_connection from NodesManager to ClusterNode & handle all related logic in ClusterNode class
- use Locks while initializing or closing
- in case of error, close connections instead of instantly reinitializing
- create ResourceWarning instead of manually deleting client object
- use asyncio.gather to run commands/initialize/close in parallel
- inline single use functions
- fix test_acl_log for py3.6
* async_cluster: add types
* async_cluster: add docs
* docs: update sphinx & add sphinx_autodoc_typehints
* async_cluster: move TargetNodesT to cluster module
* async_cluster/commands: inherit commands from sync class if possible
* async_cluster: add benchmark script with aredis & aioredis-cluster
* async_cluster: remove logging
* async_cluster: inline functions
* async_cluster: manage Connection instead of Redis Client
* async_cluster/commands: optimize parser
* async_cluster: use ensure_future & generators for gather
* async_conn: optimize
* async_cluster: optimize determine_slot
* async_cluster: optimize determine_nodes
* async_cluster/parser: optimize _get_moveable_keys
* async_cluster: inlined check_slots_coverage
* async_cluster: update docstrings
* async_cluster: add concurrent test & use read_response/_update_moved_slots without lock
Co-authored-by: Chayim <chayim@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* Replace OSError exceptions from `can_read` with `redis.ConnectionError`
* Fix formatting
* Revert unintended formatting change
|
|
|
|
|
| |
* always clear reference to reader/writer
* add #2065 to changes
|
|
|
|
|
|
|
|
|
| |
* ssl string cert
* fix async test
* linters
* change test name
|
| |
|
|
Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
Co-authored-by: dvora-h <dvora.heller@redis.com>
|