I'm getting this error after a while when there is like 40 users connected to the server. I'm running 10 workers as separated processes and I'm using django, channels, daphne.
What could I do wrong? Is there some kind of leak or why is there so many messages in queue? Every user sends hearthbeat every 2 seconds and then there are some random messages, for example chat messages and I find it weird. Why is there 2500-4200 keys in redis-cli?
It isn't even lagging. It just becomes full and then every user has to reconnect.
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/worker.py", line 119, in run
consumer(message, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 64, in inner
return func(message, *args, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 127, in inner
"full wait channel for socket %s" % message.reply_channel.name
asgiref.base_layer.BaseChannelLayer.ChannelFull: Cannot add unordered message to already full wait channel for socket websocket.send!XAVTijfEWuAm
2017-03-13 16:57:18,574 - ERROR - worker - Error processing message with consumer chat.consumers.ws_message:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 121, in send
client=connection,
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 2694, in call
return client.evalsha(self.sha, len(keys), *args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 1944, in evalsha
return self.execute_command('EVALSHA', sha, numkeys, *keys_and_args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 573, in execute_command
return self.parse_response(connection, command_name, **options)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 585, in parse_response
response = connection.read_response()
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/connection.py", line 582, in read_response
raise response
redis.exceptions.ResponseError: full
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 123, in inner
message.channel_layer.send(wait_channel, message.content)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 126, in send
raise self.ChannelFull
asgiref.base_layer.BaseChannelLayer.ChannelFull
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/worker.py", line 119, in run
consumer(message, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 64, in inner
return func(message, *args, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 127, in inner
"full wait channel for socket %s" % message.reply_channel.name
asgiref.base_layer.BaseChannelLayer.ChannelFull: Cannot add unordered message to already full wait channel for socket websocket.send!XAVTijfEWuAm
2017-03-13 16:57:32,573 - ERROR - worker - Error processing message with consumer chat.consumers.ws_message:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 121, in send
client=connection,
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 2694, in call
return client.evalsha(self.sha, len(keys), *args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 1944, in evalsha
return self.execute_command('EVALSHA', sha, numkeys, *keys_and_args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 573, in execute_command
return self.parse_response(connection, command_name, **options)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 585, in parse_response
response = connection.read_response()
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/connection.py", line 582, in read_response
raise response
redis.exceptions.ResponseError: full
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 123, in inner
message.channel_layer.send(wait_channel, message.content)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 126, in send
raise self.ChannelFull
asgiref.base_layer.BaseChannelLayer.ChannelFull
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/worker.py", line 119, in run
consumer(message, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 64, in inner
return func(message, *args, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 127, in inner
"full wait channel for socket %s" % message.reply_channel.name
asgiref.base_layer.BaseChannelLayer.ChannelFull: Cannot add unordered message to already full wait channel for socket websocket.send!XAVTijfEWuAm
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/worker.py", line 119, in run
consumer(message, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 64, in inner
return func(message, *args, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 127, in inner
"full wait channel for socket %s" % message.reply_channel.name
asgiref.base_layer.BaseChannelLayer.ChannelFull: Cannot add unordered message to already full wait channel for socket websocket.send!XAVTijfEWuAm
2017-03-13 16:57:18,574 - ERROR - worker - Error processing message with consumer chat.consumers.ws_message:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 121, in send
client=connection,
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 2694, in call
return client.evalsha(self.sha, len(keys), *args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 1944, in evalsha
return self.execute_command('EVALSHA', sha, numkeys, *keys_and_args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 573, in execute_command
return self.parse_response(connection, command_name, **options)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 585, in parse_response
response = connection.read_response()
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/connection.py", line 582, in read_response
raise response
redis.exceptions.ResponseError: full
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 123, in inner
message.channel_layer.send(wait_channel, message.content)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 126, in send
raise self.ChannelFull
asgiref.base_layer.BaseChannelLayer.ChannelFull
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/worker.py", line 119, in run
consumer(message, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 64, in inner
return func(message, *args, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 127, in inner
"full wait channel for socket %s" % message.reply_channel.name
asgiref.base_layer.BaseChannelLayer.ChannelFull: Cannot add unordered message to already full wait channel for socket websocket.send!XAVTijfEWuAm
2017-03-13 16:57:32,573 - ERROR - worker - Error processing message with consumer chat.consumers.ws_message:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 121, in send
client=connection,
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 2694, in call
return client.evalsha(self.sha, len(keys), *args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 1944, in evalsha
return self.execute_command('EVALSHA', sha, numkeys, *keys_and_args)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 573, in execute_command
return self.parse_response(connection, command_name, **options)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/client.py", line 585, in parse_response
response = connection.read_response()
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/redis/connection.py", line 582, in read_response
raise response
redis.exceptions.ResponseError: full
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 123, in inner
message.channel_layer.send(wait_channel, message.content)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/asgi_redis/core.py", line 126, in send
raise self.ChannelFull
asgiref.base_layer.BaseChannelLayer.ChannelFull
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/worker.py", line 119, in run
consumer(message, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 64, in inner
return func(message, *args, **kwargs)
File "/var/www/django/dotaleague.cz/env/lib/python3.5/site-packages/channels/sessions.py", line 127, in inner
"full wait channel for socket %s" % message.reply_channel.name
asgiref.base_layer.BaseChannelLayer.ChannelFull: Cannot add unordered message to already full wait channel for socket websocket.send!XAVTijfEWuAm