Bug #86451
Trace dans cached_db.SessionStore.load() (était: Passerelle pas bien recette)
0%
Description
De Guillaume sur la salon.
| je ne sais pas quel est le problème, surement lié a la montée de version bookworm. | en tout cas j'ai arreté passerelle sur les 2 front de test
Révisions associées
Historique
Mis à jour par Guillaume Baffoin il y a 3 mois
beaucoup d'erreur sur passerelle qui ressemble a ca :
févr. 01 15:21:26 front2 uwsgi/passerelle[2032270]: AttributeError: 'SessionStore' object has no attribute '_session_cache' févr. 01 15:21:26 front2 uwsgi/passerelle[2032270]: During handling of the above exception, another exception occurred: févr. 01 15:21:26 front2 uwsgi/passerelle[2032270]: Traceback (most recent call last): févr. 01 15:21:26 front2 uwsgi/passerelle[2032270]: File "/usr/lib/python3/dist-packages/django/contrib/sessions/backends/base.py", line 233, in _get_session févr. 01 15:21:26 front2 uwsgi/passerelle[2032270]: return self._session_cache févr. 01 15:21:26 front2 uwsgi/passerelle[2032270]: ^^^^^^^^^^^^^^^^^^^
Mis à jour par Emmanuel Cazenave il y a 3 mois
Vraisemblablement la mise à jour de mellon, qui s'est passé tranquille, et ça se met à péter quand je met à jour passerelle qui redémarre le service qui charge le dernier mellon :
Start-Date: 2024-02-01 12:14:41 Commandline: apt full-upgrade -y -o Dpkg::Options::=--force-confold Requested-By: bdauvergne (1200) Upgrade: python3-django-mellon:amd64 (1.48-1~eob120+1, 1.50-1~eob120+1) End-Date: 2024-02-01 12:14:41 Start-Date: 2024-02-01 14:58:43 Commandline: apt full-upgrade -y -o Dpkg::Options::=--force-confold Requested-By: ecazenave (1215) Upgrade: python3-passerelle:amd64 (7.87-1~eob120+1, 7.88-1~eob120+1), passerelle:amd64 (7.87-1~eob120+1, 7.88-1~eob120+1) End-Date: 2024-02-01 14:58:58
Mis à jour par Emmanuel Cazenave il y a 3 mois
C'est celui là qui casse je pense : https://git.entrouvert.org/entrouvert/django-mellon/commit/a17efc6f1b7dcfe692b7015688cd905be969b4c6
Mis à jour par Robot Gitea il y a 3 mois
- Statut changé de Nouveau à En cours
- Assigné à changé de Guillaume Baffoin à Benjamin Dauvergne
Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/django-mellon/pulls/15
- Titre : WIP: misc: simplify inheritance between session backend classes (#86451)
- Modifications : https://git.entrouvert.org/entrouvert/django-mellon/pulls/15/files
Mis à jour par Guillaume Baffoin il y a 3 mois
downgrade temporaire de python3-django-mellon sur front1 et redemarrage de passerelle ==> RAS.
je laisse les devs trouver la vrai solution.
Mis à jour par Benjamin Dauvergne il y a 3 mois
En fait la version mellon de session_backends.cached_db était cassée depuis un bail, elle utilisait en fait la version "db" simple du backend de session, là au passage j'ai corrigé ça et ça a cassé car en fait ça n'a jamais été testé avec la version "cached_db" qui quand elle lit de la base essaie de mettre en cache la session et appelle SessionStore.get_expiry_age() pour calculer le TTL du cache mais get_expiry_age() appelle get_session_not_on_or_after() qui essaie de lire dans self._session_cache qui n'existe pas encore.
La solution ici c'est de renvoyer None si self._session_cache n'existe pas (s'il n'existe pas c'est que la session est toute fraîche ou pas encore dans le cache, ou qu'on vient de passer d'un backend à l'autre, « session dans la db mais pas dans le cache »).
Mis à jour par Benjamin Dauvergne il y a 3 mois
- Sujet changé de Passerelle pas bien recette à Trace dans cached_db.SessionStore.load() (était: Passerelle pas bien recette)
Mis à jour par Robot Gitea il y a 3 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 3 mois
- Statut changé de Solution validée à Résolu (à déployer)
Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/django-mellon/pulls/15
- Titre : misc: simplify inheritance between session backend classes (#86451)
- Modifications : https://git.entrouvert.org/entrouvert/django-mellon/pulls/15/files
Mis à jour par Transition automatique il y a 3 mois
- Statut changé de Résolu (à déployer) à Solution déployée
misc: do not read not_on_or_after if session is not loaded (#86451)