Describe the bug

XREADGROUP block longer than timeout.

To reproduce

  1. create stream
> XGROUP CREATE stream group $ MKSTREAM
  1. client one
> XREADGROUP GROUP group c1 BLOCK 0 STREAMS stream >
  1. client two
> XREADGROUP GROUP group c2 BLOCK 10000 STREAMS stream >
  1. client three, 5 seconds after step 3. (immediately client one was unblocked and got the message.)
> XADD stream * field value
  1. 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.