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

PING responses are not decoded properly if Pub/Sub connection is subscribed #579

Closed
mp911de opened this issue Jul 27, 2017 · 1 comment
Closed
Labels
type: bug A general bug

Comments

@mp911de
Copy link
Collaborator

mp911de commented Jul 27, 2017

See #576 (comment).

@mp911de mp911de added the type: bug A general bug label Jul 27, 2017
@mp911de mp911de modified the milestone: Lettuce 4.4.0 Jul 27, 2017
@mp911de mp911de added this to the Lettuce 4.5.0 milestone Oct 6, 2017
@mp911de
Copy link
Collaborator Author

mp911de commented Oct 6, 2017

In a subscription state, it's not distinguishable (from an ordering perspective) whether a response is related to a sent command or it's a Pub/Sub response. Making that distinction would require response inspection and pre-processing. For now, we deny non-pubsub commands once the connection has entered Pub/Sub state.

mp911de added a commit that referenced this issue Oct 6, 2017
Pub/Sub connections that are subscribed to at least channel/pattern allow only subscription commands to be executed and reject execution of commands other than SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, PUNSUBSCRIBE and QUIT.

Response correlation cannot be guaranteed because Redis can publish a message first and then process the actual command which would parse the message as command response and treat the actual command response as pub/sub message. A deep response inspection could help to identify non-pub/sub message responses but it's no guarantee.
mp911de added a commit that referenced this issue Oct 6, 2017
Pub/Sub connections that are subscribed to at least channel/pattern allow only subscription commands to be executed and reject execution of commands other than SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, PUNSUBSCRIBE and QUIT.

Response correlation cannot be guaranteed because Redis can publish a message first and then process the actual command which would parse the message as command response and treat the actual command response as pub/sub message. A deep response inspection could help to identify non-pub/sub message responses but it's no guarantee.
@mp911de mp911de closed this as completed Oct 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug A general bug
Projects
None yet
Development

No branches or pull requests

1 participant