Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Redis update 2021-10-08 #1156

Open
wants to merge 87 commits into
base: master
Choose a base branch
from
Open

Redis update 2021-10-08 #1156

wants to merge 87 commits into from

Conversation

Andrew-Chen-Wang
Copy link
Collaborator

@Andrew-Chen-Wang Andrew-Chen-Wang commented Oct 8, 2021

What do these changes do?

Updates aioredis to redis at commit redis/redis-py@9419f1d

This does NOT include "Add retry mechanism with backoff (#1494)"

There may be additional updates to redis-py that merge my PRs there, but they should already be included here.

Are there changes in behavior for the user?

Yes, several new commands

Related issue number

Fixes #1145 #1136 #1130 #1205

Several

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes
  • If you provide code modification, please add yourself to CONTRIBUTORS.txt
    • The format is <Name> <Surname>.
    • Please keep alphabetical order, the file is sorted by names.
  • Add a new news fragment into the CHANGES/ folder
    • name it <issue_id>.<type> (e.g. 588.bugfix)
    • if you don't have an issue_id change it to the pr id after creating the PR
    • ensure type is one of the following:
      • .feature: Signifying a new feature.
      • .bugfix: Signifying a bug fix.
      • .doc: Signifying a documentation improvement.
      • .removal: Signifying a deprecation or removal of public API.
      • .misc: A ticket has been closed, but it is not of interest to users.
    • Make sure to use full sentences with correct case and punctuation, for example:
      Fix issue with non-ascii contents in doctest text files.

changing unit tests to account for defaults in redis flags redis/redis-py#1499

* This does not include the changes in tests/test_pubsub.py because we do not implement threading.

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Add support for COPY command new in Redis 6.2 (redis/redis-py#1492)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
getex (redis/redis-py#1515)

* Removed small doc saying all time parameters can be datetime.timedelta. This is not needed with typing and can also be confusing with PXAT and EXAT

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
client_list (redis/redis-py#1517)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
hrandfield (redis/redis-py#1513)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
NOMKSTREAM support for XADD (redis/redis-py#1507)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
support for client unpause (redis/redis-py#1512)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Implements CLIENT KILL laddr filter (redis/redis-py#1506)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
getdel (redis/redis-py#1514)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
zrandmember (redis/redis-py#1519)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
LT and GT support for ZADD (redis/redis-py#1509)

* The flags seem to be boolean, but I'm not sure why the test case has integers for test_zadd_gt_lt. Either way, I've set the annotation to be boolean only.

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
zrangestore (redis/redis-py#1521)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
zdiff and zdiffstore (redis/redis-py#1518)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
ensuring we adhere to exlusive options for getex (redis/redis-py#1531)

* Also fixed type annotation for name to be KeyT

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Word was repeated in documentation (redis/redis-py#1532)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
zinter (redis/redis-py#1520)

* Made some adjustments to typing in _zaggregate

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
exclusive gt and lt in zadd (redis/redis-py#1533)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
fix getex flaky tests (redis/redis-py#1537)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Updating base testing docker to redis 6.2.5 (redis/redis-py#1536)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Add a count parameter to lpop/rpop for redis >= 6.2.0 (redis/redis-py#1487)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
add idle to xpending (redis/redis-py#1523)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
xautoclaim (redis/redis-py#1529)

* Note: @Andrew-Chen-Wang wanted to change nonnegative to non-negative, but either is acceptable: https://math.stackexchange.com/questions/3342643/nonnegative-vs-non-negative
* Fixed xpending_range type annotation
* Fixed grammar in xautoclaim

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Fix some typos. (redis/redis-py#1496)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Added GET argument to SET command (redis/redis-py#1412)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
implementing the LMOVE and BLMOVE commands (redis/redis-py#1504)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
MINID and LIMIT support for xtrim (redis/redis-py#1508)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Adding support for CLIENT LIST with ID (redis/redis-py#1505)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Zunion (redis/redis-py#1512)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Migrating commands to a mixin (redis/redis-py#1534)

* Fixes #1136
* Added typing.py to store type annotations

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Use Version instead of StrictVersion since distutils is deprecated. (redis/redis-py#1552)

Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
@@ -0,0 +1,3 @@
[pytest]
markers =
redismod: run only the redis module tests
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say this should be deselected by default, also I'd like to point out there is redis/redis-py#1715 in the parent repo.

@Andrew-Chen-Wang Andrew-Chen-Wang mentioned this pull request Jan 3, 2022
5 tasks
Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
@Andrew-Chen-Wang
Copy link
Collaborator Author

Andrew-Chen-Wang commented Jan 3, 2022

@seandstewart Further PRs will still be using the old layout. I think we should merge this now before further patches and stuff come and this'll be forever delayed. Additionally, I don't think it's necessary to bump to 3.0 yet; I think we should bump version to 2.1.0. The number of changes and additions here isn't breaking anything. We should create a new PR for redis-py 4.0.2+ rather than use this one.

@lgtm-com
Copy link

lgtm-com bot commented Jan 3, 2022

This pull request introduces 6 alerts and fixes 4 when merging 817e9b0 into 56d6b32 - view on LGTM.com

new alerts:

  • 2 for Conflicting attributes in base classes
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for Modification of parameter with default
  • 1 for Module is imported with 'import' and 'import from'

fixed alerts:

  • 1 for Multiple calls to `__init__` during object initialization
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for First argument to super() is not enclosing class

@lgtm-com
Copy link

lgtm-com bot commented Jan 12, 2022

This pull request introduces 6 alerts and fixes 4 when merging 505878a into 56d6b32 - view on LGTM.com

new alerts:

  • 2 for Conflicting attributes in base classes
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for Modification of parameter with default
  • 1 for Module is imported with 'import' and 'import from'

fixed alerts:

  • 1 for Multiple calls to `__init__` during object initialization
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for First argument to super() is not enclosing class

@lgtm-com
Copy link

lgtm-com bot commented Jan 12, 2022

This pull request introduces 6 alerts and fixes 4 when merging 61612b1 into 56d6b32 - view on LGTM.com

new alerts:

  • 2 for Conflicting attributes in base classes
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for Modification of parameter with default
  • 1 for Module is imported with 'import' and 'import from'

fixed alerts:

  • 1 for Multiple calls to `__init__` during object initialization
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for First argument to super() is not enclosing class

@lgtm-com
Copy link

lgtm-com bot commented Jan 12, 2022

This pull request introduces 6 alerts and fixes 4 when merging cb93ef4 into 56d6b32 - view on LGTM.com

new alerts:

  • 2 for Conflicting attributes in base classes
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for Modification of parameter with default
  • 1 for Module is imported with 'import' and 'import from'

fixed alerts:

  • 1 for Multiple calls to `__init__` during object initialization
  • 1 for Unused import
  • 1 for Missing call to `__init__` during object initialization
  • 1 for First argument to super() is not enclosing class

@Urahara
Copy link

Urahara commented Feb 4, 2022

We have a ETA when this will hit production?

@Andrew-Chen-Wang
Copy link
Collaborator Author

Andrew-Chen-Wang commented Feb 10, 2022

This will be included in redis-py's asyncio module. Can't get an ETA. Hopefully end of month.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
6 participants