﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
31091	ConnectionResetError: [Errno 104] Connection reset by peer with a simple GET call.	aleaforny	nobody	"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"	Bug	closed	HTTP handling	master	Normal	wontfix		Florian Apolloner	Unreviewed	0	0	0	0	0	0
