Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix/workaround: Segment Out of range float values are not JSON compli… #290

Merged
merged 1 commit into from
Nov 22, 2024

Conversation

rv2931
Copy link
Collaborator

@rv2931 rv2931 commented Nov 22, 2024

Lié à #288 Internal Server Error segments
Il existe des valeurs INF et NaN dans la table segments, notamment à aux colonnes speed_at_start et speed_at_end
Je propose ce workaround en attendant de savoir quoi en faire
Globalement côté PostgreSQL et python il existe un standard (https://www.postgresql.org/docs/8.2/datatype-numeric.html && https://fr.wikipedia.org/wiki/IEEE_754) qui définit ces valeurs spéciales
Dans Python Pandas comem dans PostgreSQL ces valeurs sont considérées comme des float aux valeurs spéciales cependant côté JSON il n'y a pas d'équivalence
Il y a un peu trois choix:

  • faire en sorte de mettre la valeur JSON : undefined
  • faire en sorte de mettre la valeur JSON : null
  • faire en sorte de mettre la valeur JSON sous forme de chaine de charactère "+infinity" "-infinity" "NaN"
    Ou encore
  • On considère que ce ne sont pas des valeurs valides en base et donc il faut corriger les process ETL pour ne plus avoir ces valeurs
    Si je fais le workaround le risque c'est qu'on aura plus d'erreur 500 qu'on ne détecte plus ces valeurs qui seraient en base via des erreurs 500 et qu'on stocke des valeurs non valides sans les détecter

La 3ème solution revient à déléguer le choix de quoi en faire au frontend

…ant (INF/NaN)

//TODO: deal with INF NaN values from DB => JSON
@rv2931 rv2931 self-assigned this Nov 22, 2024
@rv2931
Copy link
Collaborator Author

rv2931 commented Nov 22, 2024

J'ai créé une issue pour tracer le problème #291
Pour éviter de bloquer Alex je propose d'intégrer la workaround qui renvoie des null à la palce des NaN et INf côté API JSON (les valeurs en base restent intouchées)

@rv2931 rv2931 merged commit 0419557 into main Nov 22, 2024
0 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant