sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30.00 - Mailing list pgadmin-support

From Rettstadt, Tobias
Subject sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30.00
Date
Msg-id ba1351f63d6640ef8f491eb28d54fdb1@nordlb.de
Whole thread Raw
List pgadmin-support
Hello pgadmin team,

a few days ago we got the following error in our production environment which occurred every few minutes until the pod
wasrestarted. We are running the official Docker image with pgadmin version 6.20. 

sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30.00
(Backgroundon this error at: https://sqlalche.me/e/14/3o7r) 
2023-04-18 12:34:30,738: ERRORpgadmin:QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout
30.00(Background on this error at: https://sqlalche.me/e/14/3o7r) 
Traceback (most recent call last):
  File "/venv/lib/python3.10/site-packages/flask/app.py", line 1515, in full_dispatch_request
    rv = self.preprocess_request()
  File "/venv/lib/python3.10/site-packages/flask/app.py", line 1857, in preprocess_request
    rv = self.ensure_sync(before_func)()
  File "/venv/lib/python3.10/site-packages/flask_principal.py", line 477, in _on_before_request
    identity = loader()
  File "/venv/lib/python3.10/site-packages/flask_security/core.py", line 535, in _identity_loader
    if not isinstance(current_user._get_current_object(), AnonymousUserMixin):
  File "/venv/lib/python3.10/site-packages/werkzeug/local.py", line 407, in _get_current_object
    return self.__local()  # type: ignore
  File "/venv/lib/python3.10/site-packages/flask_login/utils.py", line 25, in <lambda>
    current_user = LocalProxy(lambda: _get_user())
  File "/venv/lib/python3.10/site-packages/flask_login/utils.py", line 372, in _get_user
    current_app.login_manager._load_user()
  File "/venv/lib/python3.10/site-packages/flask_login/login_manager.py", line 364, in _load_user
    user = self._user_callback(user_id)
  File "/venv/lib/python3.10/site-packages/flask_security/core.py", line 465, in _user_loader
    user = _security.datastore.find_user(fs_uniquifier=str(user_id))
  File "/venv/lib/python3.10/site-packages/flask_security/datastore.py", line 587, in find_user
    return query.filter_by(**kwargs).first()
  File "/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2824, in first
    return self.limit(1)._iter().first()
  File "/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2916, in _iter
    result = self.session.execute(
  File "/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1713, in execute
    conn = self._connection_for_bind(bind)
  File "/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1552, in _connection_for_bind
    return self._transaction._connection_for_bind(
  File "/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 747, in _connection_for_bind
    conn = bind.connect()
  File "/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3315, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3394, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3361, in _wrap_pool_connect
    return fn()
  File "/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 327, in connect
    return _ConnectionFairy._checkout(self)
  File "/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 894, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 493, in checkout
    rec = pool._do_get()
  File "/venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 134, in _do_get
    raise exc.TimeoutError(

Do you have any idea what could cause connections not to be released? Would it be a good idea to increase the QueuePool
limit?If so, how can I configure the limit in pgadmin? 

Thanks for your help in advance!

Best regards,
Tobias
**************************************************************** Die in dieser E-Mail enthaltenen Informationen sind
vertraulich.Diese E-Mail ist ausschliesslich fuer den Adressaten bestimmt und jeglicher Zugriff durch andere Personen
istnicht zulaessig. Falls Sie nicht einer der genannten Empfaenger sind, ist jede Veroeffentlichung, Vervielfaeltigung,
Verteilungoder sonstige in diesem Zusammenhang stehende Handlung untersagt und unter Umstaenden ungesetzlich. Sollte
dieseNachricht nicht fuer Sie bestimmt sein, so bitten wir Sie, den Absender unverzueglich zu informieren und die
E-Mailzu loeschen. **************************************************************** The information contained in this
e-mailis confidential. This e-mail is intended solely for the addressee(s) and may not be accessed by anyone else. If
youare not a named recipient, any disclosure, copying, distribution or related action is prohibited and might be
unlawful.If the e-mail is not intended for you, please notify the sender immediately and delete it.
****************************************************************



pgadmin-support by date:

Previous
From: Yogesh Mahajan
Date:
Subject: Re: How to set Liveness & Readiness probe for pgadmin running in Kubernetes
Next
From: Amber Lee
Date:
Subject: Re: How to reset the setting?