Bug #31016
erreur de gabarit 404
0%
Description
Il pouvait y avoir erreur 500 (si settings.THEME_SKELETON_URL n'était pas mis) ou gabarit du mauvais site (si c'était posé mais à la mauvaise adresse).
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 5 ans
- Fichier 0001-publisher-reset-site-options-when-changing-appdir-31.patch 0001-publisher-reset-site-options-when-changing-appdir-31.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Le cas None était facile à reproduire, c'est la toute première requête,
- create_publisher général (attaché à /var/lib/wcs/)
- set_config
- le set_config de WcsPublisher fait un get_site_option pour voir s'il utilise postgresql
- le get_site_option, comme site_options est None, fait un load_site_options
- ça pose un self.site_options, qui est le configparser qui a lu /var/lib/wcs/site-options.cfg, donc vide.
- arrive plus tard une requête, elle fait un set_app_dir()
- le set_app_dir() fait un get_site_option() pour poser settings.THEME_SKELETON_URL
- il le fait donc sur base de /var/lib/wcs/site-options.cfg, et hop, None
Le cas de mauvais gabarit tiré, a priori, c'est la même histoire sauf que le worker a déjà traité une requête et qu'il y a donc dans site_options encore les valeurs de la requête précédente.
Correction en réinitialisant le site_options au moment où on change l'app_dir.
Mis à jour par Frédéric Péters il y a environ 5 ans
- Fichier 0001-publisher-reset-site-options-when-changing-appdir-31.patch 0001-publisher-reset-site-options-when-changing-appdir-31.patch ajouté
(mauvais patch, voici le bon)
Mis à jour par Frédéric Péters il y a environ 5 ans
(pour info j'ai tapé ça sur la prod saas2 et ça m'a eu l'air ok).
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Frédéric Péters il y a environ 5 ans
(je vois ce matin que ça casse au moins tests/test_hobo.py::test_configure_postgresql, je regarde)
Mis à jour par Frédéric Péters il y a environ 5 ans
- Fichier 0001-publisher-reset-site-options-when-changing-appdir-31.patch 0001-publisher-reset-site-options-when-changing-appdir-31.patch ajouté
- Statut changé de En cours à Solution proposée
En fait le premier était bon, on a quand même besoin de garder la réinitialisation dans set_config() (peut-être que c'est juste à cause de ce que certains tests font mais je vais rester prudent). (réexécution générale des tests en cours)
Mis à jour par Frédéric Péters il y a environ 5 ans
- Fichier 0001-publisher-reset-site-options-when-changing-appdir-31.patch 0001-publisher-reset-site-options-when-changing-appdir-31.patch ajouté
Et voilà avec correction à un test, qui ne passait pas car il n'écrivait pas le site-options sur le disque, et comme il est maintenant réinitialisé son contenu était perdu.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Thomas Noël il y a environ 5 ans
Je suis étonné qu'on ne voit ce soucis que maintenant, mais ack aussi, bien sûr. Peut-être est-ce du au fait que le raise Http404 arrive tôt, mais que sur de "vraies" requêtes on finissait toujours par bien relire les options à un moment donné ? Bon bref. Ack.
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
Ouaip c'est une partie d'analyse qui manque : comment ça tenait jusqu'à présent.
commit b7625dd1015261bac55d8fcc886834e23aadf14b Author: Frédéric Péters <fpeters@entrouvert.com> Date: Fri Mar 1 01:08:15 2019 +0100 publisher: reset site options when changing appdir (#31016)
(et je vais tagguer et pousser jusqu'au dépôt de prod)
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Solution déployée à Fermé
(pour info déploiement du paquet en prod effectué ce matin)
publisher: reset site options when changing appdir (#31016)