dataforgoodfr / 12_bloom

24 stars 11 forks source link

[API] Internal Server Error segments #288

Open alexphiev opened 6 days ago

alexphiev commented 6 days ago

J'ai une error 500 Internal Server Error en testant le endpoint /vessels/387/excursions/101693/segments. Ça explique le fait que la dernière trajectoire des bateaux ne s'affichent pas.

rv2931 commented 6 days ago

je vais regarder ça

rv2931 commented 6 days ago

Je pense que j'ai trouvé la cause de l'erreur mais ce n'est pas la manière de corriger ça Dans la table fct_segment, des valeurs speed_at_start ou speed_at_end sont à une valeur "INF" Je ne sais pas encoder cette valeur en JSON côté API Reste à savoir si cette valeur INF est une valeur valide côté PostgreSQL ou si c'est comme le NAN des dataframes qui est vu comme un float par postgresql mais devrait être None (ou autre)

rv2931 commented 6 days ago

Déjà voici la requête pour les comptabiliser

SELECT x.* FROM public.fct_segment x
WHERE speed_at_start = '+infinity' or speed_at_end  = '+infinity' or speed_at_start = 'NaN' or speed_at_end  = 'NaN'

Y en a 2524 actuellement @njouanin @SebM42 un avis sur le fait de laisser ces valeurs en l'état et de trouver un moyen de les serialiser en JSON ou bien si ces valeurs devraient ou non être None ?

A priori il n'y pas trop d'équivalent en JSON, l'idée est de transmettre une chaine de charactère à la place mais au final ça déplace le problème côté front de savoir ce qu'il doit faire de ces valeurs

rv2931 commented 6 days ago

Ok. C'est temporairement corrigé par les PR #290 et #292 Faut statuer sur les valeurs NaN/INF en attendant ça renvoie null c'est déployé en prod

alexphiev commented 6 days ago

Je confirme que ça ne plante plus !