Bug #50727
Rendre la queryset Job.objects.all() déterministe
0%
Fichiers
Demandes liées
Historique
Mis à jour par Nicolas Roche il y a environ 3 ans
- Fichier 0001-tests-add-deterministic-ordering-on-job-queryset.patch 0001-tests-add-deterministic-ordering-on-job-queryset.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Lauréline Guérin il y a environ 3 ans
perso, plutôt qu'un ordering par défaut qui de temps en temps peut nous jouer des tours (ok, rarement sur un ordering par pk, mais c'est pour le principe), je préfère setter explicitement l'ordering là où il y en a besoin
Mis à jour par Nicolas Roche il y a environ 3 ans
- Lié à Bug #42368: Corriger un test qui plante aléatoirement ajouté
Mis à jour par Nicolas Roche il y a environ 3 ans
plutôt qu'un ordering par défaut qui de temps en temps peut nous jouer des tours
L'idée ici c'était justement d'avoir un comportement stable sur les tests.
Du coup je veux bien que tu développes un peu pour être sûr de bien comprendre bien l'enjeu.
Mis à jour par Lauréline Guérin il y a environ 3 ans
Ajouter un ordering en Meta d'un model ajoute un ordering à tous les querysets pour lesquels l'ordering n'a pas été explicitement spécifié. Ca modifie donc le comportement de toutes les requêtes.
Ici c'est un ordering par pk donc c'est pas bien méchant, mais dans des cas où on aurait un ordering sur par exemple un tuple (first_name, last_name) ou un champ lié related__field, ça peut causer de sacrées surprises en terme de perfs sur certaines requêtes (subqueries par exemple)
Mis à jour par Nicolas Roche il y a environ 3 ans
- Statut changé de Solution proposée à Information nécessaire
ça peut causer de sacrées surprises en terme de perfs
Merci pour les explications.
Comme le contexte ici ce sont les Jobs (à priori asynchrones), je me demande si c'est justifié
(cela dit je suis bien incapable d'arbitrer ici, entre la stabilité des tests et celle des performances).
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
- Statut changé de Information nécessaire à Solution validée
Allez je valide on y a passé trop de temps déjà :)
Mis à jour par Nicolas Roche il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit dbd7d279e38603ef8892b6e203c8e680c8041613 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Mon Feb 1 11:52:45 2021 +0100 tests: add deterministic ordering on job queryset
Mis à jour par Nicolas Roche il y a environ 3 ans
- Lié à Bug #50785: migration manquante sur les jobs ajouté
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
(commit sans numéro de ticket)