You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Redis streams with multiple consumers, I get an i/o timeout on consumers that don't read a message. This seems to occur when another consumer did read a message but due to low traffic this consumer reached the BLOCK timeout. If none of the consumers at all read a message I get a redis.Nil error.
Expected Behavior
When no item is read from the stream the consumer should always get a redis.Nil error.
In addition to the error type not being redis.Nil, it takes about 10s extra for the command to complete. I also imagine that the connection is no longer reused.
Possible Solution
Steps to Reproduce
In this script I have 5 stream consumers each doing a 30s blocking read. There is one goroutine adding a single item with a random 0-60s delay:
When using Redis streams with multiple consumers, I get an i/o timeout on consumers that don't read a message. This seems to occur when another consumer did read a message but due to low traffic this consumer reached the BLOCK timeout. If none of the consumers at all read a message I get a
redis.Nil
error.Expected Behavior
When no item is read from the stream the consumer should always get a
redis.Nil
error.Current Behavior
In the script below I receive i/o timeout errors:
In addition to the error type not being
redis.Nil
, it takes about 10s extra for the command to complete. I also imagine that the connection is no longer reused.Possible Solution
Steps to Reproduce
In this script I have 5 stream consumers each doing a 30s blocking read. There is one goroutine adding a single item with a random 0-60s delay:
Example Output:
Context (Environment)
Detailed Description
Possible Implementation
The text was updated successfully, but these errors were encountered: