`BLMPOP` with COUNT 0 or numkeys 0 hangs
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
The BLMPOP argument handling lives in the command implementation under src/commands, where the COUNT and numkeys values are parsed and validated. Start by reproducing with the two commands from the issue against a local kvrocks build, then check that the parser rejects zero values before the blocking wait begins. Done means both commands return the expected ERR replies immediately, with a test added alongside the existing BLMPOP tests.
Written by the indexing model from the issue text.
Description
Search before asking
- I had searched in the issues and found no similar issues.
Version
Kvrocks unstable at commit 1933e9c7ef
Minimal reproduce step
RPUSH l a b
BLMPOP 0.02 1 l RIGHT COUNT 0
BLMPOP 0.02 0 LEFT COUNT 2
What did you expect to see?
> RPUSH l a b
(integer) 2
> BLMPOP 0.02 1 l RIGHT COUNT 0
(error) ERR count should be greater than 0
> BLMPOP 0.02 0 LEFT COUNT 2
(error) ERR numkeys should be greater than 0
What did you see instead?
> RPUSH l a b
(integer) 2
> BLMPOP 0.02 1 l RIGHT COUNT 0
(no reply)
> BLMPOP 0.02 0 LEFT COUNT 2
(no reply)
Anything Else?
No response
Are you willing to submit a PR?
- I'm willing to submit a PR!
- Dominant language
- C++
- Stars
- 4.5k
- Forks
- 686
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 37
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/kvrocks
-
HSETEXPIRE with an overflowing TTL returns OK and deletes the whole hashPossibly taken @anubhavgupta121 claimed this 15 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
`GEOSEARCH` / `GEORADIUS` with a negative radius hangsPossibly taken @ggyuchive claimed this 5 days ago. Openbug
Difficulty 3/5 1-2 days Newbie friendliness 25/100
Maintainers usually reply within 1 day
-
`ZDIFFSTORE` and `ZINTERSTORE` with numkeys 0 crash the server (SIGSEGV)Possibly taken @siddiqueirshad claimed this 6 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Support the `SUNIONCARD` commandPossibly taken @PoisonGodv claimed this 1 day ago. Openenhancement
Difficulty 3/5 1-2 days Newbie friendliness 58/100
apache/kvrocks#3723 · 1 comment ·
Maintainers usually reply within 1 day
-
`NAMESPACE ADD/SET/DEL` and `CONFIG REWRITE` rewrite `kvrocks.conf` without fsync: after a power loss new namespaces vanish, and deleted namespaces / rotated tokens are valid againPossibly taken @Tyagiquamar claimed this 12 days ago. Openbug
Difficulty 4/5 3-5 days Newbie friendliness 50/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
[BUG] Segfault when all runs of a Complexity() benchmark are skippedPossibly taken @nitanshnagpal claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Code: Performance
Difficulty 1/5 Under an hour Newbie friendliness 88/100
CrimsonCrossBunker/Cataclysm-Cleanwater-Bomb#1167 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
meshcore-dev/MeshCore#3760 · 1 comment ·
Maintainers usually reply within 1 day