#33593: django.db.utils.InterfaceError: connection already closed
--------------------------------------------+--------------------------
               Reporter:  michelematera     |          Owner:  (none)
                   Type:  Bug               |         Status:  new
              Component:  contrib.postgres  |        Version:  4.0
               Severity:  Normal            |       Keywords:  postgres
           Triage Stage:  Unreviewed        |      Has patch:  0
    Needs documentation:  0                 |    Needs tests:  0
Patch needs improvement:  0                 |  Easy pickings:  0
                  UI/UX:  0                 |
--------------------------------------------+--------------------------
 Hello!
 Stack:
  - Ubuntu (20.04 LTS)
  - Nginx
  - Postgresql (v13.3)

 An AWS load balancer sends traffic to the Ubuntu instance(k8s cluster),
 which is handled by Nginx, which forwards on to Django (4.0.3) running in
 gunicorn (19.9.0). Django connects to the database using psycopg2 (2.8.6).
 The issue I have is that the database connection seems to shut down
 randomly. Django reports errors like this:

 {{{
 InterfaceError: connection already closed
   File "django/core/handlers/exception.py", line 55, in inner
     response = get_response(request)
   File "django/core/handlers/base.py", line 197, in _get_response
     response = wrapped_callback(request, *callback_args,
 **callback_kwargs)
   File "contextlib.py", line 79, in inner
     return func(*args, **kwds)
   File "django/views/generic/base.py", line 84, in view
     return self.dispatch(request, *args, **kwargs)
   File "django/utils/decorators.py", line 46, in _wrapper
     return bound_method(*args, **kwargs)
   File "django/views/decorators/cache.py", line 62, in _wrapped_view_func
     response = view_func(request, *args, **kwargs)
   File "django/views/generic/base.py", line 119, in dispatch
     return handler(request, *args, **kwargs)
   File "django/views/generic/detail.py", line 108, in get
     self.object = self.get_object()
   File "django/views/generic/detail.py", line 53, in get_object
     obj = queryset.get()
   File "django/db/models/query.py", line 492, in get
     num = len(clone)
   File "django/db/models/query.py", line 302, in __len__
     self._fetch_all()
   File "django/db/models/query.py", line 1507, in _fetch_all
     self._result_cache = list(self._iterable_class(self))
   File "django/db/models/query.py", line 57, in __iter__
     results = compiler.execute_sql(
   File "django/db/models/sql/compiler.py", line 1359, in execute_sql
     cursor = self.connection.cursor()
   File "django/utils/asyncio.py", line 26, in inner
     return func(*args, **kwargs)
   File "django/db/backends/base/base.py", line 284, in cursor
     return self._cursor()
   File "django/db/backends/base/base.py", line 262, in _cursor
     return self._prepare_cursor(self.create_cursor(name))
   File "django/db/utils.py", line 91, in __exit__
     raise dj_exc_value.with_traceback(traceback) from exc_value
   File "django/db/backends/base/base.py", line 262, in _cursor
     return self._prepare_cursor(self.create_cursor(name))
   File "django/utils/asyncio.py", line 26, in inner
     return func(*args, **kwargs)
   File "django/db/backends/postgresql/base.py", line 256, in create_cursor
     cursor = self.connection.cursor()
 }}}

 Postgresql does not report any major errors: I can only assume that the
 connection was closed correctly and Django was not expecting it.
 This happens quite rarely, but enough to be a concern: once every 3 days.
 Any suggestions of how to investigate this further would be gratefully
 accepted. Thanks in advance!

-- 
Ticket URL: <https://code.djangoproject.com/ticket/33593>
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/0107017fb0dedee6-61625b68-48c4-4d41-898e-39b900408cc2-000000%40eu-central-1.amazonses.com.

Reply via email to