Bug #72010
(DeadlockDetected: ERREUR: interblocage (deadlock) détecté)
Début:
05 décembre 2022
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
On recoit de mails sur le cron de wcs, similaire a #70952 sur des deadlock
Traceback (most recent call last): File "/usr/lib/wcs/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 381, in execute_from_command_line utility.execute() File "/usr/lib/python3/dist-packages/django/core/management/__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 323, in run_from_argv self.execute(*args, **cmd_options) File "/usr/lib/python3/dist-packages/django/core/management/base.py", line 364, in execute output = self.handle(*args, **options) File "/usr/lib/python3/dist-packages/wcs/qommon/management/commands/cron.py", line 97, in handle cron_status, timestamp = sql.get_and_update_cron_status() File "/usr/lib/python3/dist-packages/wcs/sql.py", line 692, in f return func(*args, **kwargs) File "/usr/lib/python3/dist-packages/wcs/sql.py", line 4624, in get_and_update_cron_status cur.execute( psycopg2.errors.DeadlockDetected: ERREUR: interblocage (deadlock) détecté LINE 1: UPDATE wcs_meta DETAIL: Le processus 87025 attend RowExclusiveLock sur relation 66395433 de la base de données 66392077 ; bloqué par le processus 87026. Le processus 87026 attend ShareLock sur transaction 625655053 ; bloqué par le processus 87025. HINT: Voir les journaux applicatifs du serveur pour les détails sur la requête.
Fichiers
Révisions associées
Historique
Mis à jour par Pierre Ducroquet il y a plus d'un an
- Fichier 0001-create-index-only-when-needed-72010.patch 0001-create-index-only-when-needed-72010.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Bug trouvé a priori.
C'est parce que do_meta_table fait systématiquement un ALTER sur la table wcs_meta, qui tente de poser un lock global sur la table et qui va donc entrer en conflit avec l'autre tâche.
Mis à jour par Benjamin Dauvergne il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
- Assigné à mis à Pierre Ducroquet
Mis à jour par Pierre Ducroquet il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit 75725a8b48f38fffb4bbf53aa88308eaca0b645a (HEAD -> main, origin/wip/72010-sql-extraneous-wcs_meta_key, origin/main, origin/HEAD, wip/72010-sql-extraneous-wcs_meta_key) Author: Pierre Ducroquet <pducroquet@entrouvert.com> Date: Mon Dec 5 10:35:57 2022 +0100 create index only when needed (#72010)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
create index only when needed (#72010)