| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add regression tests and fixes for issue #1128
* Fix tests for resumable read_response to use "disconnect_on_error"
* undo prevision fix attempts in async client and cluster
* re-enable cluster test
* Suggestions from code review
* Add CHANGES
|
| |
|
|
|
|
|
|
|
|
|
| |
* return response in case of KeyError
* fix code linters error
* fix linters 2
* fix linters 3
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Cluster&AsyncCluster: Removed handling of timeouts/connection errors within the cluster loop, fixed "cannot pickle '_thread.lock' object" bug, added client's side failover handling improvements
* Fixed linters
* Type fixes
* Added to CHANGES
* Added getter and setter for the client's retry object and added more tests
* Fixed linters
* Fixed test
* Fixed test_client_kill test
* Changed get_default_backoff to default_backoff, removed retry_on_error and connection_error_retry_attempts from RedisCluster, default retry changed to no retries
* Fixing linters
* Reverting deletion of connection_error_retry_attempts to maintain backward compatibility
* Updating retry object for existing and new connections
* Changed the default value of reinitialize_steps from 10 to 5
* fix review comments
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: dvora-h <dvora.heller@redis.com>
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* A CredentialsProvider class has been added to allow the user to add his own provider for password rotation
* Moved CredentialsProvider to a separate file, added type hints
* Changed username and password to properties
* Added: StaticCredentialProvider, examples, tests
Changed: CredentialsProvider to CredentialProvider
Fixed: calling AUTH only with password
* Changed private members' prefix to __
* fixed linters
* fixed auth test
* fixed credential test
* Raise an error if username or password are passed along with credential_provider
* fixing linters
* fixing test
* Changed dundered to single per side underscore
* Changed Connection class members username and password to properties to enable backward compatibility with changing the members value on existing connection.
* Reverting last commit and adding backward compatibility to 'username' and 'password' inside on_connect function
* Refactored CredentialProvider class
* Fixing tuple type to Tuple
* Fixing optional string members in UsernamePasswordCredentialProvider
* Fixed credential test
* Added credential provider support to AsyncRedis
* linters
* linters
* linters
* linters - black
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
Co-authored-by: dvora-h <dvora.heller@redis.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix special response parsing options handling
When using special response parsing options like `NEVER_DECODE` and
`EMPTY_RESPONSE`, don't pass them to the response callbacks because some
of them are not prepared for receiving named arguments.
Instead, redis-py should use them before calling the callbacks and
then discard them.
* Use kwargs instead of options
* change options to kwargs in asyncio/cluster.py/L878
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
|
|
|
| |
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* optimistic default info on test sessionstart.
Makes test discovery work, even without a redis connection.
* Add unittests verifying that (non-async) PubSub will automatically reconnect
* Add tests for asyncio pubsub subsciription auto-reconnect
* automatically connect for blocking reads (asyncio)
* fix automatic connect on blocking pubsub read (non-async)
* lint & format
* Perform `connect()` call in PubSub code rather than `read_response`.
|
|
|
|
|
| |
* cleaning up the readme and moving docs into readthedocs
* examples at the end as per pr comments
|
|
|
|
|
| |
* fix parse_xautoclaim
* linters
|
|
|
|
|
|
|
|
|
| |
* Avoid mutating a global retry_on_error list
* Make retries config consistent in sync and async
* Fix async retries
* Add new TestConnectionConstructorWithRetry tests
|
|
|
|
|
|
|
|
|
| |
* Made sync lock consistent and added types to it
* Made linters happy
* Fixed cluster client lock signature
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
|
|
|
|
|
| |
* parse subcommands
* fix tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
| |
* acl setuser
* async tests
Co-authored-by: Chayim <chayim@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
| |
migrating). (#2080)
See https://redis.io/commands/cluster-nodes/#special-slot-entries
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
| |
* ssl string cert
* fix async test
* linters
* change test name
|
|
|
|
|
|
|
|
|
| |
* Fix: avoiding issue with PytestUnraisableExceptionWarning that is raised because of __del__() calling self.close() in Redis class, as the self.connection attribute was not set due to early failure in the Redis() constructor. Example: calling redis.StrictRedis(**connectionInfo) in a constructor, with connectionInfo={'hog':'cat'}
* linters
* linters
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* delslotsrange
* test
* linters
* skip test
* linters
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add cluster addslotsrange
* Add support for CLUSTER ADDSLOTSRANGE
* docstring
* fix test
* skip test
* linters
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add support for .lock() for RedisCluster
* Update changelog with lua scripting and lock() changes
* Also update asyncio client .lock() doc
* Add Python 3.6 back to hash verify CI (#2008)
* Renaming chore as maintenance (#2015)
* Add AsyncFunctionCommands (#2009)
* Also update asyncio client .lock() doc
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: Andrew Chen Wang <60190294+Andrew-Chen-Wang@users.noreply.github.com>
Co-authored-by: dvora-h <dvora.heller@redis.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* add function support
* linters
* test fcall
* decode reponses for unstable_r
* linters
* fix evalsho_ro test
* fix eval_ro test
* add response callbaks
* linters
|
|
|
|
| |
Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
Co-authored-by: dvora-h <dvora.heller@redis.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Adding support for SSL private keys with a password. This PR also adds support for future SSL tests.
|
| |
|
| |
|
|
|
| |
@akx Thank you so much for this! Thanks again for introducing me to a new tool that I'm sliding into my workflow as well.
|
| |
|
| |
|
|
|
|
| |
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: Anas <anas.el.amraoui@live.com>
|
|
|
| |
Co-authored-by: Sam Culley <sam.culley@novatiq.com>
|
| |
|
| |
|
| |
|
| |
|