Bug #49622
AttributeError: 'NoneType' object has no attribute 'rollback'
Début:
19 décembre 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/25782/
Sur un postgresql occupé à se couper, ça échoue mais derrière on tente get_connection().rollback()
qui échoue aussi parce qu'il n'y a plus du tout de connexion.
OperationalError: terminating connection due to administrator command SSL connection has been closed unexpectedly File "wcs/sql.py", line 432, in f return func(*args, **kwargs) File "wcs/qommon/substitution.py", line 26, in f return func(*args, **kwargs) File "wcs/sql.py", line 1715, in store cur.execute(sql_statement, sql_dict) InterfaceError: connection already closed (3 additional frame(s) were not displayed) ... File "wcs/formdata.py", line 489, in perform_workflow url = perform_items(wf_status.items, self) File "wcs/workflows.py", line 87, in perform_items url = perform_items(wf_status.items, formdata, depth=depth-1) or url File "wcs/workflows.py", line 72, in perform_items url = item.perform(formdata) or url File "wcs/wf/dispatch.py", line 232, in perform formdata.store() File "wcs/sql.py", line 434, in f get_connection().rollback() InterfaceError: connection already closed File "wcs/sql.py", line 340, in get_connection_and_cursor cur = conn.cursor() OperationalError: FATAL: the database system is shutting down FATAL: the database system is shutting down File "wcs/sql.py", line 432, in f return func(*args, **kwargs) File "wcs/sql.py", line 451, in do_formdef_tables conn, cur = get_connection_and_cursor() File "wcs/sql.py", line 343, in get_connection_and_cursor conn = get_connection(new=True) File "wcs/sql.py", line 318, in get_connection get_publisher().pgconn = psycopg2.connect(**postgresql_cfg) File "__init__.py", line 130, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) AttributeError: 'NoneType' object has no attribute 'rollback' (7 additional frame(s) were not displayed) ... File "wcs/publisher.py", line 339, in notify_of_exception self.log_internal_error(error_summary, plain_error_msg, record=record, notify=notify) File "wcs/publisher.py", line 345, in log_internal_error error_summary, plain_error_msg, publisher=self) File "wcs/logged_errors.py", line 127, in record_exception formdata = formdef.data_class().get(formdata_id, ignore_errors=True) File "wcs/formdef.py", line 282, in data_class actions = sql.do_formdef_tables(self) File "wcs/sql.py", line 434, in f get_connection().rollback()
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Projet changé de Suivi des traces à w.c.s.
- Description mis à jour (diff)
Mis à jour par Robot Gitea il y a 9 mois
- Statut changé de Nouveau à En cours
- Assigné à mis à Frédéric Péters
Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/509
- Titre : WIP: sql: do not try rollbacking if there's no connection anymore (#49622)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/509/files
Mis à jour par Robot Gitea il y a 9 mois
- Statut changé de Solution proposée à Solution validée
Paul Marillonnet (pmarillonnet) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a 8 mois
- Statut changé de Solution validée à Résolu (à déployer)
Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/509
- Titre : sql: do not try rollbacking if there's no connection anymore (#49622)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/509/files
Mis à jour par Transition automatique il y a 8 mois
- Statut changé de Résolu (à déployer) à Solution déployée
sql: do not try rollbacking if there's no connection anymore (#49622)