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

3.4.0 breaks celery 4.4.0 #1277

Closed
iblatter opened this issue Jan 31, 2020 · 2 comments
Closed

3.4.0 breaks celery 4.4.0 #1277

iblatter opened this issue Jan 31, 2020 · 2 comments

Comments

@iblatter
Copy link

Celery 4.4.0 using redis as broker and backend fails to start. Reverting to redis client 3.3.11 fixes the issue.
Redis 3.4.0
Running on Alpine

Unrecoverable error: "TypeError("unhashable type: 'Redis'")"
Stack Trace:
TypeError: unhashable type: 'Redis'
File "celery/worker/worker.py", line 205, in start
self.blueprint.start(self)
File "celery/bootsteps.py", line 119, in start
step.start(parent)
File "celery/bootsteps.py", line 369, in start
return self.obj.start()
File "celery/worker/consumer/consumer.py", line 318, in start
blueprint.start(self)
File "celery/bootsteps.py", line 119, in start
step.start(parent)
File "celery/worker/consumer/mingle.py", line 40, in start
self.sync(c)
File "celery/worker/consumer/mingle.py", line 44, in sync
replies = self.send_hello(c)
File "celery/worker/consumer/mingle.py", line 57, in send_hello
replies = inspect.hello(c.hostname, our_revoked._data) or {}
File "celery/app/control.py", line 154, in hello
return self._request('hello', from_node=from_node, revoked=revoked)
File "celery/app/control.py", line 106, in _request
pattern=self.pattern, matcher=self.matcher,
File "celery/app/control.py", line 477, in broadcast
limit, callback, channel=channel,
File "kombu/pidbox.py", line 352, in _broadcast
channel=chan)
File "kombu/pidbox.py", line 391, in _collect
self.connection.drain_events(timeout=timeout)
File "kombu/connection.py", line 323, in drain_events
return self.transport.drain_events(self.connection, **kwargs)
File "kombu/transport/virtual/base.py", line 963, in drain_events
get(self._deliver, timeout=timeout)
File "kombu/transport/redis.py", line 374, in get
self._register_BRPOP(channel)
File "kombu/transport/redis.py", line 311, in _register_BRPOP
if not self._client_registered(channel, channel.client, 'BRPOP'):
File "kombu/transport/redis.py", line 306, in _client_registered
(channel, client, cmd) in self._chan_to_sock)

@peterfarrell
Copy link

I can confirm that downgrading redis to 3.3.11 fixes the issue. Looks like redis-py changed their API?

@peterfarrell
Copy link

This issue is a duplicate of #1275

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

No branches or pull requests

2 participants