StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back [SQ...
Closed this issue · 2 comments
sentry-io commented
Flask-Security/Login does not roll back unexpected SSL connection losses that could be caused by various reasons.
Sentry Issue: JOLOD-1F
InvalidRequestError: Can't reconnect until invalid transaction is rolled back
File "sqlalchemy/engine/base.py", line 1125, in _execute_context
conn = self._revalidate_connection()
File "sqlalchemy/engine/base.py", line 427, in _revalidate_connection
"Can't reconnect until invalid "
StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back [SQL: 'SELECT "user".id AS user_id, "user".email AS user_email, "user".username AS user_username, "user".password AS user_password, "user".active AS user_active, "user".confirmed_at AS user_confirmed_at, "user".last_login_at AS user_last_login_at, "user".current_login_at AS user_current_login_at, "user".last_login_ip AS user_last_login_ip, "user".last_activity_at AS user_last_activity_at, "user".last_activity_ip AS user_last_activity_ip, "user".current_login_ip AS user_current_login_ip, "user".language AS user_language, "user".login_count AS user_login_count \nFROM "user" \nWHERE "user".id = %(id_1)s \n LIMIT %(param_1)s'] [parameters: [{}]]
(23 additional frame(s) were not displayed)
...
File "sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "sqlalchemy/util/compat.py", line 265, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "sqlalchemy/util/compat.py", line 248, in reraise
raise value.with_traceback(tb)
File "sqlalchemy/engine/base.py", line 1125, in _execute_context
conn = self._revalidate_connection()
File "sqlalchemy/engine/base.py", line 427, in _revalidate_connection
"Can't reconnect until invalid "
InvalidRequestError: Can't reconnect until invalid transaction is rolled back
File "sqlalchemy/engine/base.py", line 1125, in _execute_context
conn = self._revalidate_connection()
File "sqlalchemy/engine/base.py", line 427, in _revalidate_connection
"Can't reconnect until invalid "
StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back [SQL: 'SELECT "user".id AS user_id, "user".email AS user_email, "user".username AS user_username, "user".password AS user_password, "user".active AS user_active, "user".confirmed_at AS user_confirmed_at, "user".last_login_at AS user_last_login_at, "user".current_login_at AS user_current_login_at, "user".last_login_ip AS user_last_login_ip, "user".last_activity_at AS user_last_activity_at, "user".last_activity_ip AS user_last_activity_ip, "user".current_login_ip AS user_current_login_ip, "user".language AS user_language, "user".login_count AS user_login_count \nFROM "user" \nWHERE "user".id = %(id_1)s \n LIMIT %(param_1)s'] [parameters: [{}]]
(19 additional frame(s) were not displayed)
...
File "sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
exc_info
File "sqlalchemy/util/compat.py", line 265, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "sqlalchemy/util/compat.py", line 248, in reraise
raise value.with_traceback(tb)
File "sqlalchemy/engine/base.py", line 1125, in _execute_context
conn = self._revalidate_connection()
File "sqlalchemy/engine/base.py", line 427, in _revalidate_connection
"Can't reconnect until invalid "
StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back [SQL: 'SELECT "user".id AS user_id, "user".email AS user_email, "user".username AS user_username, "user".password AS user_password, "user".active AS user_active, "user".confirmed_at AS user_confirmed_at, "user".last_login_at AS user_last_login_at, "user".current_login_at AS user_current_login_at, "user".last_login_ip AS user_last_login_ip, "user".last_activity_at AS user_last_activity_at, "user".last_activity_ip AS user_last_activity_ip, "user".current_login_ip AS user_current_login_ip, "user".language AS user_language, "user".login_count AS user_login_count \nFROM "user" \nWHERE "user".id = %(id_1)s \n LIMIT %(param_1)s'] [parameters: [{}]]
TaaviE commented
Fixed with SQLAlchemy pool pre-ping