Friday, April 7, 2017

Re: Channels Redis/channelfull spam without any ws connections.

The first part is normal Redis traffic for Daphne. It polls Redis in a pretty tight loop in synchronous mode (and this is, annoyingly, faster than the slow poll in Twisted-native mode).

The second part is an unrelated error that appears to be from handling a WebSocket that was incoming - is it reproduceable? If so, could you file an issue on the Channels GitHub with versions and steps to reproduce?

Andrew

On Fri, Apr 7, 2017 at 7:00 AM, <dave.mcallister.dev@gmail.com> wrote:
1491540549.292837 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.343335 [0 unix:/var/run/redis/redis.sock] "EVALSHA" "3640886a0c8901ca9188f5f7a5f7a346145b9c5f" "1" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.343373 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.393917 [0 unix:/var/run/redis/redis.sock] "EVALSHA" "3640886a0c8901ca9188f5f7a5f7a346145b9c5f" "1" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.393954 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.444425 [0 unix:/var/run/redis/redis.sock] "EVALSHA" "3640886a0c8901ca9188f5f7a5f7a346145b9c5f" "1" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.444463 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.494980 [0 unix:/var/run/redis/redis.sock] "EVALSHA" "3640886a0c8901ca9188f5f7a5f7a346145b9c5f" "1" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.495016 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.545484 [0 unix:/var/run/redis/redis.sock] "EVALSHA" "3640886a0c8901ca9188f5f7a5f7a346145b9c5f" "1" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.545521 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.595958 [0 unix:/var/run/redis/redis.sock] "EVALSHA" "3640886a0c8901ca9188f5f7a5f7a346145b9c5f" "1" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.595993 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.646517 [0 unix:/var/run/redis/redis.sock] "EVALSHA" "3640886a0c8901ca9188f5f7a5f7a346145b9c5f" "1" "asgi:daphne.response.tJbmVMXFGX!"
1491540549.646554 [0 lua] "LPOP" "asgi:daphne.response.tJbmVMXFGX!"
My redis gets spammed by this while running 2 daphne workers, without anything connected over websocket.

This leads to asgiref.base_layer.ChannelFull and redis.exceptions.ResponseError: full spam:

Traceback (most recent call last):
  File "/venv/lib/python3.5/site-packages/channels/sessions.py", line 143, in inner
    message.channel_layer.send(wait_channel, message.content)
  File "/venv/lib/python3.5/site-packages/asgi_redis/core.py", line 177, in send
    raise self.ChannelFull
asgiref.base_layer.ChannelFull

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.5/site-packages/channels/worker.py", line 119, in run
    consumer(message, **kwargs)
  File "/venv/lib/python3.5/site-packages/channels/sessions.py", line 78, in inner
    return func(*args, **kwargs)
  File "/venv/lib/python3.5/site-packages/channels/sessions.py", line 147, in inner
    "full __wait__ channel for socket %s" % message.reply_channel.name
asgiref.base_layer.ChannelFull: Cannot add unordered message to already full __wait__ channel for socket daphne.response.GFPKnFFpIJ!bEgDPXUyqb
2017-04-07 03:57:26,015 - ERROR - worker - Error processing message with consumer stats.consumers.ws_receive:
Traceback (most recent call last):
  File "/venv/lib/python3.5/site-packages/asgi_redis/core.py", line 162, in send
    client=connection,
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 2694, in __call__
    return client.evalsha(self.sha, len(keys), *args)
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 1944, in evalsha
    return self.execute_command('EVALSHA', sha, numkeys, *keys_and_args)
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 573, in execute_command
    return self.parse_response(connection, command_name, **options)
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 585, in parse_response
    response = connection.read_response()
  File "/venv/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 "/venv/lib/python3.5/site-packages/channels/sessions.py", line 143, in inner
    message.channel_layer.send(wait_channel, message.content)
  File "/venv/lib/python3.5/site-packages/asgi_redis/core.py", line 177, in send
    raise self.ChannelFull
asgiref.base_layer.ChannelFull

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/venv/lib/python3.5/site-packages/channels/worker.py", line 119, in run
    consumer(message, **kwargs)
  File "/venv/lib/python3.5/site-packages/channels/sessions.py", line 78, in inner
    return func(*args, **kwargs)
  File "/venv/lib/python3.5/site-packages/channels/sessions.py", line 147, in inner
    "full __wait__ channel for socket %s" % message.reply_channel.name
asgiref.base_layer.ChannelFull: Cannot add unordered message to already full __wait__ channel for socket daphne.response.GFPKnFFpIJ!bEgDPXUyqb
2017-04-07 03:57:26,255 - ERROR - worker - Error processing message with consumer stats.consumers.ws_receive:
Traceback (most recent call last):
  File "/venv/lib/python3.5/site-packages/asgi_redis/core.py", line 162, in send
    client=connection,
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 2694, in __call__
    return client.evalsha(self.sha, len(keys), *args)
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 1944, in evalsha
    return self.execute_command('EVALSHA', sha, numkeys, *keys_and_args)
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 573, in execute_command
    return self.parse_response(connection, command_name, **options)
  File "/venv/lib/python3.5/site-packages/redis/client.py", line 585, in parse_response
    response = connection.read_response()
  File "/venv/lib/python3.5/site-packages/redis/connection.py", line 582, in read_response
    raise response
redis.exceptions.ResponseError: full

Everything is updated to latest.

What's going on here?

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/9339c18f-52be-43a6-8555-5b07105763d0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFwN1up8UwE%3DLbvfYA__qru1o_mZBCk-ATuqWdefAhrjhg_TEw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment