Open amirreza8002 opened 4 weeks ago
Hi! Do you have a way to reproduce the issue?
BTW there isn't anything in valkey-py that tries to hide that kind of error from valkey. Getting ResponseError: NOSUB 'unsubscribe' command executed not in subscribed mode
doesn't sound like a bug to me.
hi the bug is in celery. no doubt in that
the question in my mind is about the two links i shared
from what i understand, the first one should return None
and don't pass the command to valkey
even if that doesn't work, the second link should raise a RuntimeError and don't pass the command to valkey
or am i misunderstanding this? I'm judging based on the comments in the code, perhaps there's more to it
about reproducing... I'm not sure i know a way outside of running celery, which I'll share information shortly
hi just an FYI, valkey-py does stop unsubscribe commands if there is no subscription
you can test it by just sending an unsubscribe command using valkey-py, then doing the same using valkey-cli.
tho valkey has reverted this behavior and sending unsubscribe no longer errors, it's still a question on how this happened in the first place.
hi we are trying to write a valkey backend for celery: the PR the integration test (and some normal usage) error with the following traceback:
there are a couple of problems here:
the error shouldn't happen, at least not in this form as you can see in the traceback,
PubSub.get_message()
is called which containes this check and even if this doesn't work, this method is callingPubSub.parse_response()
which should raise an error as this showsthis error is not consistent, which leads me to believe some sort of race condition is happening, i'm not sure if this is true yet, and if it is, what is causing it.
but the main issue is the first one, if you could help me understand why valkey itself is raising
NOSUB
, while valkey-py should have raised an error before valkey even gets envolvedimportant note: this problem is also true when using
redis-py