0

Django project cannot set sessions only on localhost, and the web keeps pending forever after login callback. Here is the log:

"GET / HTTP/1.1" 302 0
"GET /kc/callback?state=95ad23ff24f648dd9a28b845dab57623&session_state=feac8cb3-a655-4608-82b5-2a309e97db72&code=771863de-fa31-4aa7-a936-c26c082995e1.feac8cb3-a655-4608-82b5-2a309e97db72.d52c4c80-ab1f-4a3c-9909-f1d43de72c5c HTTP/1.1" 302 0
"GET /kc/callback?state=3c3f804074094bccb802dfb65b8eb34f&session_state=feac8cb3-a655-4608-82b5-2a309e97db72&code=d1ae63ae-9c6e-4fb3-b2b6-75ac7f339a0d.feac8cb3-a655-4608-82b5-2a309e97db72.d52c4c80-ab1f-4a3c-9909-f1d43de72c5c HTTP/1.1" 302 0
setting user session
Internal Server Error: /
Traceback (most recent call last):
  File "C:\Users\...backend\venv\lib\site-packages\django\contrib\sessions\backends\base.py", line 233, in _get_session
    return self._session_cache
AttributeError: 'SessionStore' object has no attribute '_session_cache'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\base\base.py", line 219, in ensure_connection
    self.connect()
  File "C:\Users\...backend\venv\lib\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\base\base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\...backend\venv\lib\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\postgresql\base.py", line 187, in get_new_connection
    connection = Database.connect(**conn_params)
  File "C:\Users\...backend\venv\lib\site-packages\psycopg2\__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: FATAL:  sorry, too many clients already


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\...backend\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "C:\Users\...backend\ilumens_backend_sf\middleware\auth.py", line 164, in __call__
    if "user" not in request.session:
  File "C:\Users\...backend\venv\lib\site-packages\django\contrib\sessions\backends\base.py", line 55, in __contains__
    return key in self._session
  File "C:\Users\...backend\venv\lib\site-packages\django\contrib\sessions\backends\base.py", line 238, in _get_session
    self._session_cache = self.load()
  File "C:\Users\...backend\venv\lib\site-packages\django\contrib\sessions\backends\db.py", line 43, in load
    s = self._get_session_from_db()
  File "C:\Users\...backend\venv\lib\site-packages\django\contrib\sessions\backends\db.py", line 34, in _get_session_from_db
    expire_date__gt=timezone.now()
  File "C:\Users\...backend\venv\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\models\query.py", line 431, in get
    num = len(clone)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\models\query.py", line 262, in __len__
    self._fetch_all()
  File "C:\Users\...backend\venv\lib\site-packages\django\db\models\query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "C:\Users\...backend\venv\lib\site-packages\django\db\models\query.py", line 51, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\models\sql\compiler.py", line 1173, in execute_sql
    cursor = self.connection.cursor()
  File "C:\Users\...backend\venv\lib\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\base\base.py", line 259, in cursor
    return self._cursor()
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\base\base.py", line 235, in _cursor
    self.ensure_connection()
  File "C:\Users\...backend\venv\lib\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\base\base.py", line 219, in ensure_connection
    self.connect()
  File "C:\Users\...backend\venv\lib\site-packages\django\db\utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\base\base.py", line 219, in ensure_connection
    self.connect()
  File "C:\Users\...backend\venv\lib\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\base\base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\...backend\venv\lib\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\...backend\venv\lib\site-packages\django\db\backends\postgresql\base.py", line 187, in get_new_connection
    connection = Database.connect(**conn_params)
  File "C:\Users\...backend\venv\lib\site-packages\psycopg2\__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL:  sorry, too many clients already

pgAdmin4 dashboard shows lots of idle access trying to get the session data. click here

Upgrade Django from 3.1 to 3.2, and try Python 3.7 and 3.8, but still not works. Errors occurred from last week only on localhost. The remote test and production servers work normally.

0 Answers0