Rust : Investigation d'une étrange erreur de mémoire insuffisante
Le service Rust engine-gateway de Qovery a subi des plantages inattendus de mémoire insuffisante (OOM). La surveillance affichait une utilisation stable de la mémoire avant les redémarrages brusques. Le coupable ? La bibliothèque anyhow, lorsque les traces sont activées, capture une trace pour chaque erreur. La résolution des symboles, uniquement déclenchée lors de l'impression des erreurs en mode débogage (`{:?}`), a entraîné une consommation massive de mémoire. La définition des variables d'environnement `RUST_BACKTRACE=1` et `RUST_LIB_BACKTRACE=0` pour activer les traces uniquement en cas de panique a résolu le problème. Ceci souligne à quel point la surveillance peut être trompeuse et l'importance d'une lecture approfondie de la documentation de la bibliothèque.