Rust: Investigando un extraño error de memoria insuficiente

2025-01-19
Rust: Investigando un extraño error de memoria insuficiente

El engine-gateway de Qovery, un servicio Rust, experimentó fallos inesperados de memoria insuficiente (OOM). El monitoreo mostraba un uso estable de memoria antes de los reinicios abruptos. ¿El culpable? La biblioteca anyhow, cuando los rastreos de pila están habilitados, captura un rastreo de pila para cada error. La resolución de símbolos, solo se activa al imprimir errores en modo depuración (`{:?}`), causó un consumo masivo de memoria. Establecer las variables de entorno `RUST_BACKTRACE=1` y `RUST_LIB_BACKTRACE=0` para habilitar los rastreos de pila solo en caso de pánico resolvió el problema. Esto destaca lo engañoso que puede ser el monitoreo y la importancia de una revisión exhaustiva de la documentación de la biblioteca.

Desarrollo