Describe the bug
XREADGROUP block longer than timeout.
To reproduce
- create stream
> XGROUP CREATE stream group $ MKSTREAM
- client one
> XREADGROUP GROUP group c1 BLOCK 0 STREAMS stream >
- client two
> XREADGROUP GROUP group c2 BLOCK 10000 STREAMS stream >
- client three, 5 seconds after step 3. (immediately client one was unblocked and got the message.)
> XADD stream * field value
- 10 seconds after step 4, client two was unblocked showing that timeout is 15 seconds.
> XREADGROUP GROUP group c2 BLOCK 10000 STREAMS stream >
(nil)
(15.03s)
Expected behavior
client two's timeout should be 10 seconds.
Additional information
I think client two was signaled in step 4 and reprocess XREADGROUP command again, making timout to reset.