Una actualización de versión de Java aparentemente rutinaria desencadenó un incidente de producción que reveló una fuga de memoria presente silenciosamente durante tres años. La fuga estaba oculta porque un mecanismo antiguo de recolección de basura la limpiaba inadvertidamente. Este artículo describe los síntomas—el monitoreo mostraba verde, pero los contenedores se estrellaban—y la investigación posterior. El autor comparte cómo rastrearon el problema hasta una función de generación de miniaturas de video, donde un recurso nunca se liberaba correctamente. La conclusión clave es que los cambios en el comportamiento del tiempo de ejecución, como las actualizaciones del algoritmo GC, pueden exponer errores latentes. Este estudio de caso enfatiza la importancia de una comprensión profunda del tiempo de ejecución y la creación de perfiles de memoria proactiva.
Un estudio de caso real de una fuga de memoria enmascarada por el comportamiento antiguo del GC, descubierta por una actualización de Java. Lecciones sobre observabilidad y depuración.