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

Add support for BZMPOP #1851

Merged
merged 6 commits into from
Feb 2, 2022
Merged

Add support for BZMPOP #1851

merged 6 commits into from
Feb 2, 2022

Conversation

dvora-h
Copy link
Collaborator

@dvora-h dvora-h commented Jan 4, 2022

Pull Request check-list

Please make sure to review and check all of these items:

  • Does $ tox pass with this change (including linting)?
  • Do the CI tests pass with this change (enable it first in your forked repo and wait for the github action build to finish)?
  • Is the new or changed code fully tested?
  • Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?
  • Is there an example added to the examples folder (if applicable)?

NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.

Description of change

closes #1800

@dvora-h dvora-h requested a review from chayim January 4, 2022 10:53
@dvora-h dvora-h added the feature New feature label Jan 4, 2022
Copy link
Contributor

@chayim chayim left a comment

Choose a reason for hiding this comment

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

Same SINTERCARD PR changes.

@codecov-commenter
Copy link

codecov-commenter commented Jan 12, 2022

Codecov Report

Merging #1851 (dbc342c) into master (15f315a) will decrease coverage by 0.55%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1851      +/-   ##
==========================================
- Coverage   93.60%   93.04%   -0.56%     
==========================================
  Files          76       76              
  Lines       16214    16446     +232     
==========================================
+ Hits        15177    15303     +126     
- Misses       1037     1143     +106     
Impacted Files Coverage Δ
redis/commands/core.py 89.99% <100.00%> (+0.05%) ⬆️
tests/test_commands.py 99.39% <100.00%> (+<0.01%) ⬆️
tests/test_ssl.py 48.46% <0.00%> (-5.67%) ⬇️
redis/connection.py 87.02% <0.00%> (-1.31%) ⬇️
tests/test_cluster.py 98.41% <0.00%> (-0.13%) ⬇️
redis/ocsp.py 0.00% <0.00%> (ø)
redis/retry.py 100.00% <0.00%> (ø)
redis/client.py 89.37% <0.00%> (ø)
tests/test_search.py 99.07% <0.00%> (+0.05%) ⬆️
... and 6 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 15f315a...dbc342c. Read the comment docs.

@dvora-h dvora-h requested a review from chayim January 13, 2022 12:37
@chayim chayim added the redis-7 label Jan 16, 2022
def bzmpop(
self,
timeout: float,
num_keys: int,
Copy link
Contributor

Choose a reason for hiding this comment

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

num_keys should probably be numkeys - given the help text

"""
args = [timeout, num_keys, *keys]
if (min and max) or (not min and not max):
raise DataError
Copy link
Contributor

Choose a reason for hiding this comment

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

raise DataError('Either min or max, but not both must be set')```

args.append("MIN")
else:
args.append("MAX")
if count != 1:
Copy link
Contributor

Choose a reason for hiding this comment

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

Any reason to not extend either way? We can save the cost of this if check - so it's cheaper. Though, it's unclear if there's a default. What does redis-cli say?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

In redis-cli if you don't specify the count it will pop 1, so I changhed it to extend either way.

@dvora-h dvora-h requested a review from chayim January 25, 2022 13:51
@dvora-h dvora-h merged commit c3c0b0b into redis:master Feb 2, 2022
@dvora-h dvora-h deleted the add-bzmpop branch February 2, 2022 10:49
dvora-h added a commit to dvora-h/redis-py that referenced this pull request Feb 2, 2022
* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments
dvora-h added a commit to dvora-h/redis-py that referenced this pull request Feb 2, 2022
* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments
dvora-h added a commit that referenced this pull request Feb 2, 2022
* add redis5 and redis4 dockers

* redis versions testenv

* path changes

* fix linters

* fix tests

* fixing linter

* Increased pubsub's wait_for_messages timeout to prevent flaky tests (#1893)

* Fixing TypeError in GraphCommands.explain (#1901)

* Fixing AttributeError in UnixDomainSocketConnection (#1903)

* Fixing AttributeError on some connection errors (#1905)

* cluster script fixes to support future cluster versions and redis unstable (#1900)

* Fixing LMOVE, BLMOVE returning an incorrect response (#1906)

* Raising ConnectionError on invalid ocsp certificates - with status information (#1907)

* 4.1.2 (#1904)

* adding cluster env timeout time (#1908)

* Update changes file with changes since 4.0.0-beta2 (#1915)

* Fixing volume for unstable_cluster docker (#1914)

* Change json.clear test multi to be up to date with redisjson (#1922)

* fix json clear test

* fix json clear test

* Add support for BZMPOP (#1851)

* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments

* add client no-evict (#1856)

* Add support for ZINTERCARD (#1857)

* add zintercard

* fix pr comment

* linters

* Add support for EVAL_RO (#1862)

* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters

* Add support for EVALSHA_RO (#1863)

* add evalsha-ro

* fix pr comment

* add type hints

* add type hints

* Fix naming conventions (#1872)

* fix naming convention

* fix worng changes

* change ports to resolve conflict with unstable_cluster

Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: Varun Chopra <v@chopraaa.com>
dvora-h added a commit that referenced this pull request Feb 6, 2022
* add type hints for json commands

* Change json.clear test multi to be up to date with redisjson (#1922)

* fix json clear test

* fix json clear test

* Add support for BZMPOP (#1851)

* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments

* add client no-evict (#1856)

* Add support for ZINTERCARD (#1857)

* add zintercard

* fix pr comment

* linters

* Add support for EVAL_RO (#1862)

* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters

* Add support for EVALSHA_RO (#1863)

* add evalsha-ro

* fix pr comment

* add type hints

* add type hints

* Fix naming conventions (#1872)

* fix naming convention

* fix worng changes

* fix naming convention in rootPath
gkorland pushed a commit that referenced this pull request Feb 8, 2022
* add redis5 and redis4 dockers

* redis versions testenv

* path changes

* fix linters

* fix tests

* fixing linter

* Increased pubsub's wait_for_messages timeout to prevent flaky tests (#1893)

* Fixing TypeError in GraphCommands.explain (#1901)

* Fixing AttributeError in UnixDomainSocketConnection (#1903)

* Fixing AttributeError on some connection errors (#1905)

* cluster script fixes to support future cluster versions and redis unstable (#1900)

* Fixing LMOVE, BLMOVE returning an incorrect response (#1906)

* Raising ConnectionError on invalid ocsp certificates - with status information (#1907)

* 4.1.2 (#1904)

* adding cluster env timeout time (#1908)

* Update changes file with changes since 4.0.0-beta2 (#1915)

* Fixing volume for unstable_cluster docker (#1914)

* Change json.clear test multi to be up to date with redisjson (#1922)

* fix json clear test

* fix json clear test

* Add support for BZMPOP (#1851)

* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments

* add client no-evict (#1856)

* Add support for ZINTERCARD (#1857)

* add zintercard

* fix pr comment

* linters

* Add support for EVAL_RO (#1862)

* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters

* Add support for EVALSHA_RO (#1863)

* add evalsha-ro

* fix pr comment

* add type hints

* add type hints

* Fix naming conventions (#1872)

* fix naming convention

* fix worng changes

* change ports to resolve conflict with unstable_cluster

Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: Varun Chopra <v@chopraaa.com>
(cherry picked from commit 0d26117)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for BZMPOP
3 participants