#31091: ConnectionResetError: [Errno 104] Connection reset by peer with a simple
GET call
-----------------------------------------+------------------------
               Reporter:  aleaforny      |          Owner:  nobody
                   Type:  Bug            |         Status:  new
              Component:  HTTP handling  |        Version:  2.2
               Severity:  Normal         |       Keywords:
           Triage Stage:  Unreviewed     |      Has patch:  0
    Needs documentation:  0              |    Needs tests:  0
Patch needs improvement:  0              |  Easy pickings:  0
                  UI/UX:  0              |
-----------------------------------------+------------------------
 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

-- 
Ticket URL: <https://code.djangoproject.com/ticket/31091>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/052.4b405e052d7662499f349da40f8f04a8%40djangoproject.com.

Reply via email to