Projet

Général

Profil

Bug #50727

Rendre la queryset Job.objects.all() déterministe

Ajouté par Nicolas Roche il y a environ 3 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
01 février 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Juste pour les tests en fait (cf https://dev.entrouvert.org/issues/48864#note-8)


Fichiers


Demandes liées

Lié à Passerelle - Bug #42368: Corriger un test qui plante aléatoirementFermé01 mai 2020

Actions
Lié à Passerelle - Bug #50785: migration manquante sur les jobsFermé02 février 2021

Actions

Historique

#1

Mis à jour par Nicolas Roche il y a environ 3 ans

#2

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

#3

Mis à jour par Nicolas Roche il y a environ 3 ans

  • Lié à Bug #42368: Corriger un test qui plante aléatoirement ajouté
#4

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.

#5

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)

#6

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).

#7

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à :)

#8

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
#9

Mis à jour par Nicolas Roche il y a environ 3 ans

  • Lié à Bug #50785: migration manquante sur les jobs ajouté
#10

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)

Formats disponibles : Atom PDF