Opened 5 years ago
Last modified 5 years ago
#31091 closed Bug
ConnectionResetError: [Errno 104] Connection reset by peer with a simple GET call — at Initial Version
Reported by: | aleaforny | Owned by: | nobody |
---|---|---|---|
Component: | HTTP handling | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Florian Apolloner | Triage Stage: | Unreviewed |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Hello,
I have this pretty simple GET api method (I use djangorestframework, but the issue is still related to Django itself, see all my explanations):
from rest_framework import generics, status from rest_framework.response import Response from django.conf import settings class Monitoring(generics.RetrieveAPIView): def retrieve(self, request, *args, **kwargs): return Response({ "app_build": settings.APP_BUILD_NUMBER, }, status=status.HTTP_200_OK )
I was using Django Version 2.1.1, everything was working perfectly fine.
Then, I upgraded to version Django 2.2.8, and I suddenly get the following error (for all my API call, but I took the simplest as an example) :
[14/Dec/2019 23:18:29] "GET /monitoring HTTP/1.1" 200 38 ---------------------------------------- Exception happened during processing of request from ('x.y.z.x', 53609) Traceback (most recent call last): File "/opt/rh/rh-python36/root/usr/lib64/python3.6/socketserver.py", line 654, in process_request_thread self.finish_request(request, client_address) File "/opt/rh/rh-python36/root/usr/lib64/python3.6/socketserver.py", line 364, in finish_request self.RequestHandlerClass(request, client_address, self) File "/opt/rh/rh-python36/root/usr/lib64/python3.6/socketserver.py", line 724, in __init__ self.handle() File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/servers/basehttp.py", line 153, in handle self.handle_one_request() File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/django/core/servers/basehttp.py", line 161, in handle_one_request self.raw_requestline = self.rfile.readline(65537) File "/opt/rh/rh-python36/root/usr/lib64/python3.6/socket.py", line 586, in readinto return self._sock.recv_into(b) ConnectionResetError: [Errno 104] Connection reset by peer ----------------------------------------
FYI, I'm using Python 2.6.9 version
By the way, these APIs are sending me the response as expected, these errors are just printed on Django console, so I guess it's not critical nor preventing Django to work as expected, but it's still annoying to get these errors everytime now.
I just did one thing: Tried different versions of Django (using pip3.6), and here the result I got :
- Django 2.1.1: Working as expected
- Django 2.1.3: Working as expected
- Django 2.1.4: Error
- Django 2.1.5: Error
- Django 2.1.15: Error
- Django 2.2.0: Error
- Django 2.2.8: Error
So I guess something happened between Django 2.1.3 and 2.1.4 but can't figure what.
Thanks for the help!
Kindly