一見普通のJavaバージョンアップグレードが、3年間静かに存在していたメモリリークを明らかにする本番インシデントを引き起こしました。このリークは、古いガベージコレクション機構が偶然にもクリーンアップしていたため、以前は隠されていました。この記事では、症状(モニタリングは緑色なのにコンテナがクラッシュする)とその後の調査を説明します。著者は、ビデオサムネイル生成機能でリソースが適切に解放されていなかった問題をどのように追跡したかを共有しています。重要な教訓は、GCアルゴリズムの更新などのランタイム動作の変更が潜在的なバグを露呈させる可能性があることです。
古いGC動作に隠されていたメモリリークが、Javaアップグレードで発覚した実話。可観測性とデバッグの教訓。