Projet

Général

Profil

Bug #70952

cron/get_and_update_cron_status deadlock (DeadlockDetected: ERREUR: interblocage (deadlock) détecté)

Ajouté par Sentry Io il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
03 novembre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

https://sentry.entrouvert.org/entrouvert/publik/issues/96686/

DeadlockDetected: ERREUR:  interblocage (deadlock) détecté
LINE 1: UPDATE wcs_meta
               ^
DETAIL:  Le processus 1762780 attend RowExclusiveLock sur relation 4337613 de la base de données 60337 ; bloqué par le processus 1762779.
Le processus 1762779 attend ShareLock sur transaction 608361665 ; bloqué par le processus 1762780.
HINT:  Voir les journaux applicatifs du serveur pour les détails sur la requête.

(3 additional frame(s) were not displayed)
...
  File "django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "wcs/qommon/management/commands/cron.py", line 97, in handle
    cron_status, timestamp = sql.get_and_update_cron_status()
  File "wcs/sql.py", line 631, in f
    return func(*args, **kwargs)
  File "wcs/sql.py", line 4475, in get_and_update_cron_status
    cur.execute(

Fichiers

Révisions associées

Révision 30adc0f8 (diff)
Ajouté par Frédéric Péters il y a plus d'un an

misc: do not get any lock when getting cron status (#70952)

Historique

#1

Mis à jour par Lauréline Guérin il y a plus d'un an

  • Projet changé de Suivi des traces à w.c.s.
  • Sujet changé de DeadlockDetected: ERREUR: interblocage (deadlock) détecté à cron/get_and_update_cron_status deadlock (DeadlockDetected: ERREUR: interblocage (deadlock) détecté)
#2

Mis à jour par Frédéric Péters il y a plus d'un an

Pas bien sûr de cette trace mais en regardant le code j'ai noté le "FOR UPDATE" dans le select qui devrait juste récupérer le statut, inutile et qui fait un lock.

#3

Mis à jour par Pierre Ducroquet il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée
#4

Mis à jour par Frédéric Péters il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 30adc0f88cca9963beb411db862525a5c6893ad7
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sat Nov 5 17:53:43 2022 +0100

    misc: do not get any lock when getting cron status (#70952)
#5

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#6

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF