Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master to 5.0 #2827

Merged
merged 53 commits into from
Jul 3, 2023
Merged

Merge master to 5.0 #2827

merged 53 commits into from
Jul 3, 2023

Commits on Mar 27, 2023

  1. fix: do not use asyncio's timeout lib before 3.11.2 (redis#2659)

    There's an issue in asyncio's timeout lib before 3.11.3 that causes
    async calls to raise `CancelledError`.
    
    This is a cpython issue that was fixed in this commit [1] and
    cherry-picked to previous versions, meaning 3.11.3 will work correctly.
    
    Check [2] for more info.
    
    [1] python/cpython@04adf2d
    [2] redis#2633
    bellini666 authored Mar 27, 2023
    Configuration menu
    Copy the full SHA
    4802530 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4856813 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    326bb1c View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2023

  1. Configuration menu
    Copy the full SHA
    6d886d7 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. Fixing cancelled async futures (redis#2666)

    Co-authored-by: James R T <jamestiotio@gmail.com>
    Co-authored-by: dvora-h <dvora.heller@redis.com>
    3 people authored Mar 29, 2023
    Configuration menu
    Copy the full SHA
    5acbde3 View commit details
    Browse the repository at this point in the history
  2. Fix async (redis#2673)

    dvora-h authored Mar 29, 2023
    Configuration menu
    Copy the full SHA
    ef3f086 View commit details
    Browse the repository at this point in the history
  3. Version 4.5.4 (redis#2674)

    dvora-h authored Mar 29, 2023
    Configuration menu
    Copy the full SHA
    e1017fd View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2023

  1. Really do not use asyncio's timeout lib before 3.11.2 (redis#2699)

    4802530 made async-timeout required
    only on Python 3.11.2 and earlier. However, according to PEP-508,
    python_version marker is compared to first two numbers of Python version
    tuple - so it will evaluate to True also on 3.11.3, and install a
    package as a dependency.
    mirekdlugosz authored Apr 13, 2023
    Configuration menu
    Copy the full SHA
    7ae8464 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a4240b View commit details
    Browse the repository at this point in the history
  3. Update example of Redisearch creating index (redis#2703)

    When creating index, fields should be passed inside an iterable (e.g. list or tuple)
    mzdehbashi-github authored Apr 13, 2023
    Configuration menu
    Copy the full SHA
    db9a85c View commit details
    Browse the repository at this point in the history
  4. Improving Vector Similarity Search Example (redis#2661)

    * update vss docs
    
    * add embeddings creation and storage examples
    
    * update based on feedback
    
    * fix version and link
    
    * include more realistic search examples and clean up indices
    
    * completely remove initial cap reference
    
    ---------
    
    Co-authored-by: Chayim <chayim@users.noreply.github.com>
    tylerhutcherson and chayim authored Apr 13, 2023
    Configuration menu
    Copy the full SHA
    7fc4c76 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2023

  1. Fix incorrect usage of once flag in async Sentinel (redis#2718)

    In the execute_command of the async Sentinel, the once flag was being
    used incorrectly, with its meaning inverted. To fix we just needed to invert
    the if and else bodies. This isn't being caught by the tests currently
    because the tests of commands that use this flag do not check their
    results/effects (for example the "test_ckquorum" test).
    felipou authored Apr 27, 2023
    Configuration menu
    Copy the full SHA
    d6bb457 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fddd3d6 View commit details
    Browse the repository at this point in the history
  3. Improve error output for master discovery (redis#2720)

    Make MasterNotFoundError exception more precise in the case of
    ConnectionError and TimeoutError to help the user to identify
    configuration errors
    
    Co-authored-by: Marc Schöchlin <marc.schoechlin@flipapp.de>
    scoopex and Marc Schöchlin authored Apr 27, 2023
    Configuration menu
    Copy the full SHA
    8e0b84d View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2023

  1. return response in case of KeyError (redis#2628)

    * return response in case of KeyError
    
    * fix code linters error
    
    * fix linters 2
    
    * fix linters 3
    shacharPash authored Apr 30, 2023
    Configuration menu
    Copy the full SHA
    8b58ebb View commit details
    Browse the repository at this point in the history
  2. Add WITHSCORES to ZREVRANK Command (redis#2725)

    * add withscores to zrevrank
    
    * change 0 -> 2
    
    * fix errors
    
    * split test
    shacharPash authored Apr 30, 2023
    Configuration menu
    Copy the full SHA
    bf528fc View commit details
    Browse the repository at this point in the history

Commits on May 1, 2023

  1. Fix ClusterCommandProtocol not itself being marked as a protocol (r…

    …edis#2729)
    
    * Fix `ClusterCommandProtocol` not itself being marked as a protocol
    
    * Update CHANGES
    Avasam authored May 1, 2023
    Configuration menu
    Copy the full SHA
    1ca223a View commit details
    Browse the repository at this point in the history
  2. Fix potential race condition during disconnection (redis#2719)

    When the disconnect() function is called twice in parallel it is possible that
    one thread deletes the self._sock reference, while the other thread will
    attempt to call .close() on it, leading to an AttributeError.
    
    This situation can routinely be encountered by closing the connection in a
    PubSubWorkerThread error handler in a blocking thread (ie. with
    sleep_time==None), and then calling .close() on the PubSub object.
    The main thread will then run into the disconnect() function, and the listener
    thread is woken up by the closure and will race into the disconnect()
    function, too.
    
    This can be fixed easily by copying the object reference before doing the
    None-check, similar to what we do in the redis.client.close() function.
    Anthchirp authored May 1, 2023
    Configuration menu
    Copy the full SHA
    ac15d52 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2023

  1. add "address_remap" feature to RedisCluster (redis#2726)

    * add cluster "host_port_remap" feature for asyncio.RedisCluster
    
    * Add a unittest for asyncio.RedisCluster
    
    * Add host_port_remap to _sync_ RedisCluster
    
    * add synchronous tests
    
    * rename arg to `address_remap` and take and return an address tuple.
    
    * Add class documentation
    
    * Add CHANGES
    kristjanvalur authored May 2, 2023
    Configuration menu
    Copy the full SHA
    a7857e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e52fd67 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2023

  1. Updated AWS Elasticache IAM Connection Example (redis#2702)

    Co-authored-by: Nick Gerow <nick.gerow@enlightedinc.com>
    NickG123 and Nick Gerow authored May 3, 2023
    Configuration menu
    Copy the full SHA
    6d32503 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2023

  1. Configuration menu
    Copy the full SHA
    ffb2b83 View commit details
    Browse the repository at this point in the history
  2. Add RedisCluster.remap_host_port, Update tests for CWE 404 (redis#2706)

    * Use provided redis address. Bind to IPv4
    
    * Add missing "await" and perform the correct test for pipe eimpty
    
    * Wait for a send event, rather than rely on sleep time. Excpect cancel errors.
    
    * set delay to 0 except for operation we want to cancel
    This speeds up the unit tests considerably by eliminating unnecessary delay.
    
    * Release resources in test
    
    * Fix cluster test to use address_remap and multiple proxies.
    
    * Use context manager to manage DelayProxy
    
    * Mark failing pipeline tests
    
    * lint
    
    * Use a common "master_host" test fixture
    kristjanvalur authored May 7, 2023
    Configuration menu
    Copy the full SHA
    3748a8b View commit details
    Browse the repository at this point in the history

Commits on May 8, 2023

  1. Update redismodules.rst (redis#2747)

    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    cristianmatache and dvora-h authored May 8, 2023
    Configuration menu
    Copy the full SHA
    906e413 View commit details
    Browse the repository at this point in the history
  2. Add support for cluster myshardid (redis#2704)

    * feat: adding support for cluster myshardid
    
    * lint fix
    
    * fix: comment fix and async test
    
    * fix: adding version check
    
    * fix lint:
    
    * linters
    
    ---------
    
    Co-authored-by: Anuragkillswitch <70265851+Anuragkillswitch@users.noreply.github.com>
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    Co-authored-by: dvora-h <dvora.heller@redis.com>
    4 people authored May 8, 2023
    Configuration menu
    Copy the full SHA
    cfdcfd8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9370711 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    093232d View commit details
    Browse the repository at this point in the history
  5. Optionally disable disconnects in read_response (redis#2695)

    * Add regression tests and fixes for issue redis#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
    kristjanvalur authored May 8, 2023
    Configuration menu
    Copy the full SHA
    c0833f6 View commit details
    Browse the repository at this point in the history
  6. Add client no-touch (redis#2745)

    * Add client no-touch
    
    * Update redis/commands/core.py
    
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    
    * Update test_commands.py
    
    Improve test_client_no_touch
    
    * Update test_commands.py
    
    Add async version test case
    
    * Chore remove whitespace
    
    Oops
    
    ---------
    
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    aciddust and dvora-h authored May 8, 2023
    Configuration menu
    Copy the full SHA
    8c06d67 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    984b733 View commit details
    Browse the repository at this point in the history
  8. Fix xadd allow non negative maxlen (redis#2739)

    * Fix xadd allow non negative maxlen
    
    * Update change log
    
    ---------
    
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    aciddust and dvora-h authored May 8, 2023
    Configuration menu
    Copy the full SHA
    4a4566b View commit details
    Browse the repository at this point in the history
  9. Version 4.5.5 (redis#2753)

    dvora-h authored May 8, 2023
    Configuration menu
    Copy the full SHA
    f056118 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2023

  1. Kristjan/issue redis#2754: Add missing argument to SentinelManagedCon…

    …nection.read_response() (redis#2756)
    
    * Increase timeout for a test which would hang completely if failing.
    Timeouts in virtualized CI backends can occasionally fail if too short.
    
    * add "disconnect_on_error" argument to SentinelManagedConnection
    
    * update Changes
    
    * lint
    kristjanvalur authored May 10, 2023
    Configuration menu
    Copy the full SHA
    35b7e09 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2023

  1. support JSON.MERGE Command (redis#2761)

    * support JSON.MERGE Command
    
    * linters
    
    * try with abc instead person
    
    * change @skip_ifmodversion_lt to latest ReJSON 2.4.7
    
    * change version
    
    * fix test
    
    * linters
    
    * add async test
    shacharPash authored May 16, 2023
    Configuration menu
    Copy the full SHA
    2d9b5ac View commit details
    Browse the repository at this point in the history

Commits on May 28, 2023

  1. Issue redis#2749: Remove unnecessary __del__ handlers (redis#2755)

    * Remove unnecessary __del__ handlers
    There normally should be no logic attached to del.  Cleanly disconnecting network resources is not needed at that time.
    
    * add CHANGES
    kristjanvalur authored May 28, 2023
    Configuration menu
    Copy the full SHA
    db7b9dd View commit details
    Browse the repository at this point in the history
  2. Add WITHSCORE to ZRANK (redis#2758)

    * add withscore to zrank with tests
    
    * fix test
    bodevone authored May 28, 2023
    Configuration menu
    Copy the full SHA
    d95d8a2 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2023

  1. Fix JSON.MERGE Summary (redis#2786)

    * Fix JSON.MERGE Summary
    
    * linters
    shacharPash authored Jun 17, 2023
    Configuration menu
    Copy the full SHA
    4d396f8 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. Configuration menu
    Copy the full SHA
    3cdecc1 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. Configuration menu
    Copy the full SHA
    29dfbb2 View commit details
    Browse the repository at this point in the history
  2. Introduce OutOfMemoryError exception for Redis write command rejectio…

    …ns due to OOM errors (redis#2778)
    
    * expose OutOfMemoryError as explicit exception type
    
    - handle "OOM" error code string by raising explicit
      exception type instance
    - enables callers to avoid string matching after
      catching ResponseError
    
    * add OutOfMemoryError exception class docstring
    
    * Provide more info in the exception docstring
    
    * Fix formatting
    
    * Again
    
    * linters
    
    ---------
    
    Co-authored-by: Chayim <chayim@users.noreply.github.com>
    Co-authored-by: Igor Malinovskiy <u.glide@gmail.com>
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    4 people authored Jun 20, 2023
    Configuration menu
    Copy the full SHA
    2bb7f10 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. Add unit tests for the connect method of all Redis connection class…

    …es (redis#2631)
    
    * tests: move certificate discovery to a separate module
    
    * tests: add 'connect' tests for all Redis connection classes
    
    ---------
    
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    woutdenolf and dvora-h authored Jun 23, 2023
    Configuration menu
    Copy the full SHA
    53bed27 View commit details
    Browse the repository at this point in the history
  2. Fix dead weakref in sentinel connection causing ReferenceError (redis…

    …#2767) (redis#2771)
    
    * Fix dead weakref in sentinel conn (redis#2767)
    
    * Update CHANGES
    
    ---------
    
    Co-authored-by: Igor Malinovskiy <u.glide@gmail.com>
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    3 people authored Jun 23, 2023
    Configuration menu
    Copy the full SHA
    4f466d6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    abc04b5 View commit details
    Browse the repository at this point in the history
  4. Add waitaof (redis#2760)

    * Add waitaof
    
    * Update test_commands.py
    
    add test_waitaof
    
    * Update test_commands.py
    
    Add test_waitaof
    
    * Fix doc string
    
    ---------
    
    Co-authored-by: Chayim <chayim@users.noreply.github.com>
    Co-authored-by: Igor Malinovskiy <u.glide@gmail.com>
    3 people authored Jun 23, 2023
    Configuration menu
    Copy the full SHA
    cecf78b View commit details
    Browse the repository at this point in the history
  5. Extract abstract async connection class (redis#2734)

    * make 'socket_timeout' and 'socket_connect_timeout' equivalent for TCP and UDS connections
    
    * abstract asynio connection in analogy with the synchronous connection
    
    ---------
    
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    woutdenolf and dvora-h authored Jun 23, 2023
    Configuration menu
    Copy the full SHA
    40a769e View commit details
    Browse the repository at this point in the history
  6. Fix type hint for retry_on_error in async cluster (redis#2804)

    * fix(asyncio.cluster): fixup retry_on_error type hint
    
    This parameter accepts a list of _classes of Exceptions_, not a list of instantiated Exceptions. Fixup the type hint accordingly.
    
    * chore: update changelog
    
    ---------
    
    Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
    TheKevJames and dvora-h authored Jun 23, 2023
    Configuration menu
    Copy the full SHA
    d25a96b View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2023

  1. Fix CI (redis#2809)

    dvora-h authored Jun 25, 2023
    Configuration menu
    Copy the full SHA
    04aadd7 View commit details
    Browse the repository at this point in the history
  2. Support JSON.MSET Command (redis#2766)

    * support JSON.MERGE Command
    
    * linters
    
    * try with abc instead person
    
    * change @skip_ifmodversion_lt to latest ReJSON 2.4.7
    
    * change version
    
    * fix test
    
    * linters
    
    * add async test
    
    * Support JSON.MSET command
    
    * trying to run CI
    
    * linters
    
    * add async test
    
    * reminder do delete the integration changes
    
    * delete the line from integration
    
    * fix the interface
    
    * change docstring
    
    ---------
    
    Co-authored-by: Chayim <chayim@users.noreply.github.com>
    Co-authored-by: dvora-h <dvora.heller@redis.com>
    3 people authored Jun 25, 2023
    Configuration menu
    Copy the full SHA
    ab617a1 View commit details
    Browse the repository at this point in the history
  3. Version 4.6.0 (redis#2810)

    dvora-h authored Jun 25, 2023
    Configuration menu
    Copy the full SHA
    9f50357 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2023

  1. Configuration menu
    Copy the full SHA
    53c92dd View commit details
    Browse the repository at this point in the history
  2. master changes

    dvora-h committed Jul 1, 2023
    Configuration menu
    Copy the full SHA
    f47a018 View commit details
    Browse the repository at this point in the history
  3. linters

    dvora-h committed Jul 1, 2023
    Configuration menu
    Copy the full SHA
    a67c216 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1aa2e8d View commit details
    Browse the repository at this point in the history