Projet

Général

Profil

Bug #24078

confusion connexion sql en afterjob (?)

Ajouté par Frédéric Péters il y a presque 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Haut
Assigné à:
Version cible:
-
Début:
25 mai 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Exception:
  type = '<class 'psycopg2.ProgrammingError'>', value = 'relation "formdata_17_rdv_evolutions" does not exist
LINE 2: ...                              comment, parts FROM formdata_1...
                                                             ^
'

Stack trace (most recent call first):
  File "/usr/lib/python2.7/dist-packages/wcs/sql.py", line 1218, in get_evolution
  1216                             WHERE formdata_id = %%(id)s
  1217                          ORDER BY id''' % self._table_name
> 1218         cur.execute(sql_statement, {'id': self.id})
  1219         self._evolution = []
  1220         while True:

Associé à un vhost qui ne correspond pas au formdef en question…


Fichiers

Révisions associées

Révision 93374961 (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

threads: make sure logger and substitution singletons are not reused (#24078)

Historique

#1

Mis à jour par Frédéric Péters il y a presque 6 ans

(shooting in the dark)

#2

Mis à jour par Frédéric Péters il y a presque 6 ans

Meilleure analyse.

On fait pour un nouveau thread un copy.copy() du publisher mais des objets à l'intérieur restent partagés.

Faire un deepcopy n'est pas possible parce que ça creuse trop loin et échoue à un moment sur des objets qui ne peuvent être copiés, du coup plutôt une méthode reset() qui assure pour le logger (parce que) et le subsitutions (le bug ici) qu'un nouvel objet sera utilisé.

#3

Mis à jour par Thomas Noël il y a presque 6 ans

Ça semble juste.

Peut-être que le reset() pourrait s'appeler detach() ou autre, ça semble bizarre de faire un reset() après un copy... En fait je me dis qu'on pourrait avoir une méthode copy(self) dans QommonPublisher, qui ferait le copy.copy et ces opérations de reset. C'est vraiment juste une question de "lisibilité", Ack si tu penses que c'est assez lisible ainsi.

#4

Mis à jour par Frédéric Péters il y a presque 6 ans

  • Statut changé de En cours à Résolu (à déployer)

Poussé avec .detach(). (je trouve ça plus clair que caché derrière un copy).

commit 93374961c2acba3341559a25cfb6e5e5a6c2c62e
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri May 25 09:25:46 2018 +0200

    threads: make sure logger and substitution singletons are not reused (#24078)
#5

Mis à jour par Frédéric Péters il y a plus de 5 ans

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

Formats disponibles : Atom PDF