Bug #74449
confusion de cache de sources de données utilisant la même url mais un paramétrage différent
0%
Description
De https://gitea.entrouvert.org/entrouvert/passerelle/pulls/105 ,
[...] parce qu'il y a du cache sur l'objet request de w.c.s qui fait que l'on ne peut pas utiliser dans le même formulaire 2 sources de données différentes, servies par la même url, utilisant un dictionnaire (paramètre data) différent.
Révisions associées
Historique
Mis à jour par Nicolas Roche il y a environ un an
- Description mis à jour (diff)
Pour les sources de données, l'url avec ses variables interprétées est mise en cache et resservie.
On ne peut pas faire 2 source de données différentes servies par la même url en tapant à 2 endroits différents dans le json.
cf :
def _get_structured_items(data_source, mode=None, raise_on_error=False): ... url = get_variadic_url(url, vars) ... request = get_request() if hasattr(request, 'datasources_cache') and url in request.datasources_cache: return request.datasources_cache[url] ... if hasattr(request, 'datasources_cache'): request.datasources_cache[url] = items
On peut tester sur ce formulaire :
https://demarches-parsifal.test.entrouvert.org/backoffice/forms/204/
Mis à jour par Frédéric Péters il y a environ un an
Pour les sources de données, l'url avec ses variables interprétées est mise en cache et resservie.
Pour poser les choses : le problème est que ce qui est mis en cache n'est pas ce qui est présent à l'URL en question mais ce qui aura été retourné par request_json_items(), qui est une fonction qui applique des paramètres supplémentaires, qui peuvent varier d'une source de données à l'autre, pour la même URL. Ça pourrait venir après #39723 qui a déplacé partiellement les niveaux de cache. Comme piste peut-être aveoir avoir une fonction de calcul d'une clé de cache, qui prendrait davantage que l'URL.
Mis à jour par Robot Gitea il y a environ un an
- Statut changé de Nouveau à Solution proposée
Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://gitea.entrouvert.org/entrouvert/wcs/pulls/109
- Titre : misc: include data source parameters in cache keys (#74449)
- Modifications : https://gitea.entrouvert.org/entrouvert/wcs/pulls/109/files
Mis à jour par Robot Gitea il y a environ un an
- Statut changé de Solution proposée à Solution validée
Agate Berriot (aberriot) a approuvé une pull request sur Gitea concernant cette demande :
Mis à jour par Robot Gitea il y a environ un an
- Statut changé de Solution validée à Résolu (à déployer)
Frédéric Péters (fpeters) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://gitea.entrouvert.org/entrouvert/wcs/pulls/109
- Titre : misc: include data source parameters in cache keys (#74449)
- Modifications : https://gitea.entrouvert.org/entrouvert/wcs/pulls/109/files
Mis à jour par Transition automatique il y a environ un an
- Statut changé de Résolu (à déployer) à Solution déployée
misc: include data source parameters in cache keys (#74449)