Skip to content
New issue

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

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't crash when passed a null client id #2

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

zwily
Copy link

@zwily zwily commented Jul 19, 2014

Sometimes a client can get confused, and start sending messages with
null client ids. This just avoids crashing when that happens.

zwily added 14 commits July 18, 2014 22:22
Sometimes a client can get confused, and start sending messages with
null client ids. This just avoids crashing when that happens.
You need to provide callbacks to redis commands or else redis will throw
an error (killing your process) when something goes wrong.
When a client is subscribed to channels like /foo/* and /foo/bar, and a
message is published to /foo/bar, the client should only receive *one*
message. Previously, we were sending the message for every shard each
subscribed channel lived in. (So if /foo/* was in shard1 and /foo/bar
was in shard2, the subscriber would get two copies.)

This change collects all the client ids from all shards and only sends
one message to each client.
Pulled in "async" to help with several cases where we perform several
operations in parallel, and need a callback at the end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant