mlflow: épingle anyio, dont une reconstruction a cassé le serveur #131
No reviewers
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!131
Loading…
Reference in a new issue
No description provided.
Delete branch "lenaic/130-mlflow-anyio"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ce que ça change
Une ligne dans
infra/compose/mlflow/requirements.txt:anyio<4.15.Closes #130
Ce qui s'est passé
MLflow est tombé le 3 septembre à 17 h 08, pendant le déploiement de la mise en
production, et l'a fait échouer :
wait: trueattend une pile saine, elle ne l'est jamaisdevenue.
anyio 4.15.0est passé aux imports paresseux et n'expose plusfrom_threaden attribut.starlette 1.6.0l'appelle pourtant après un simpleimport anyio.Le fichier épinglait
mlflow==3.15.2et l'expliquait très bien — « une imagereconstruite six semaines plus tard doit poser les mêmes octets » — mais s'arrêtait aux
dépendances directes. L'image tournait « Up 21 hours (healthy) » le matin même, avec ces
mêmes fichiers.
Preuve
Vérifié dans un conteneur jetable avant d'écrire la ligne :
Ce que ça ne règle pas
La pile
mlflowportebuild: true, donc son image est reconstruite à CHAQUEdéploiement — et
postgresaussi. Cet épinglage ferme ce trou-ci, pas la classe entière :la prochaine dépendance indirecte non épinglée fera pareil.
Le #130 porte la décision : soit
build: alwaysreste et l'épinglage devient une règle,soit il passe à
missinget une reconstruction se demande. Ça se tranche, ça ne se subitpas au prochain déploiement.
Une remarque au passage :
starlette.middleware.wsgiest déprécié et sera retiré. MLflows'en sert encore. Ce n'est pas urgent, mais ça datera la prochaine montée de version.