Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Redis message bus can result in missed messages due to messages received out of order from backplane #1676

Closed
DamianEdwards opened this Issue Mar 12, 2013 · 2 comments

Comments

Projects
None yet
3 participants
Owner

DamianEdwards commented Mar 12, 2013

The Redis message bus generates message IDs on the web server node using the sequence feature in Redis before sending the payload to the backplane. These two operations (increment ID, send payload with new ID) are not atomic, and as a result a receiving node may receive messages from the Redis backplane out of order, creating a window of time in which clients can miss messages.

Redis transaction support should be investigated as a potential fix to ensure that the sequence increment and message send are processed as an atomic unit by the backplane.

@ghost ghost assigned davidfowl Mar 12, 2013

Owner

davidfowl commented Mar 25, 2013

Moving this to 1.1 rtw scaleout

davidfowl added a commit that referenced this issue Apr 21, 2013

Overhauled RedisMessageBus using newer version of booksleeve.
- Use transactions per save so that increments happen in
  the right order.
- Updated to use the latest version of Booksleeve.
- Set the subscription mode to preserve order.

#1676
#1788

@davidfowl davidfowl referenced this issue Apr 21, 2013

Merged

Redis update #1923

@ghost ghost assigned Xiaohongt Apr 22, 2013

Contributor

Xiaohongt commented Apr 22, 2013

verified

@Xiaohongt Xiaohongt closed this Apr 22, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment