Skip to content

Commit 88de888

Browse files
Update streams.md with XREADGROUP behavior details (#2553)
* Update streams.md with XREADGROUP behavior details Clarify the behavior of XREADGROUP in Active-Active streams, including message order guarantees and acknowledgment handling. * Clarify XREADGROUP message order guarantees Clarified the guarantee of message order in XREADGROUP regarding consumed messages from multiple regions. * Update XREADGROUP message ordering explanation Clarified the message ordering guarantee for XREADGROUP in multi-region scenarios. * Update order guarantees for Active-Active streams Clarified the guarantees of entry order for multiple regions in Active-Active streams. * Apply suggestions from code review Editorial changes. --------- Co-authored-by: David Dougherty <[email protected]>
1 parent 0cf595f commit 88de888

File tree

1 file changed

+4
-0
lines changed
  • content/operate/rs/databases/active-active/develop/data-types

1 file changed

+4
-0
lines changed

content/operate/rs/databases/active-active/develop/data-types/streams.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,12 @@ This means that the XREADGROUP does not return already-acknowledged entries.
297297
### Guarantees
298298

299299
Unlike XREAD, XREADGOUP will never skip stream entries.
300+
300301
In traffic redirection, XREADGROUP may return entries that have been read but not acknowledged. It may also even return entries that have already been acknowledged.
301302

303+
When entries are added from multiple regions, Redis guarantees ordered entries in the reply of a single read command (`XREAD`, `XREADGROUP`, or `XRANGE`). However, ordered IDs are not guaranteed for a sequence of read commands.
304+
For example, two subsequent `XREADGROUP GROUP group consumer COUNT 1 STREAMS key >` commands may reply with decreasing IDs.
305+
302306
## Summary
303307

304308
With Active-Active streams, you can write to the same logical stream from multiple regions. As a result, the behavior of Active-Active streams differs somewhat from the behavior you get with Redis Open Source. This is summarized below:

0 commit comments

Comments
 (0)