質問
🕓 事例公開日 : 2025-09-09
【背景】
14時10分頃からHTTP500エラーが起きて、ログインできなくなった。1. 事象
エラーメッセージ・スタックトレース:
HazelcastInstance is not active! java.lang.OutOfMemoryError: Java heap space
at jp.co.intra_mart.system.hazelcast.nio.Packet.readValue(Packet.java:202)
at jp.co.intra_mart.system.hazelcast.nio.Packet.readFrom(Packet.java:195)
at jp.co.intra_mart.system.hazelcast.nio.tcp.MemberReadHandler.onRead(MemberReadHandler.java:56)
at jp.co.intra_mart.system.hazelcast.nio.tcp.nonblocking.NonBlockingSocketReader.handle(NonBlockingSocketReader.java:159)
at jp.co.intra_mart.system.hazelcast.nio.tcp.nonblocking.NonBlockingIOThread.handleSelectionKey(NonBlockingIOThread.java:345)
at jp.co.intra_mart.system.hazelcast.nio.tcp.nonblocking.NonBlockingIOThread.handleSelectionKeys(NonBlockingIOThread.java:330)
at jp.co.intra_mart.system.hazelcast.nio.tcp.nonblocking.NonBlockingIOThread.selectLoop(NonBlockingIOThread.java:248)
at jp.co.intra_mart.system.hazelcast.nio.tcp.nonblocking.NonBlockingIOThread.run(NonBlockingIOThread.java:201)
症状の説明:
一部のユーザーでHTTP500エラーが表示され、ログイン処理が完了しない。AP1サーバーへのアクセスができない状態になった。なお、現在はサーバの再起動により事象は解消している。
2. 発生条件
14時7分頃にAP1サーバーでHazelcastインスタンスが非アクティブ状態となり、その後ログイン処理でエラーが発生するようになった。回答
1. 原因
技術的な原因:
AP1サーバーのHazelcastでOutOfMemoryErrorが発生し、Hazelcastインスタンスがシャットダウンしたため、セッション管理機能が停止してログイン処理が失敗しました。技術的要因の分析:
・Hazelcastのヒープメモリ使用率が常時90-95%(3.8G-4G)で推移 → メモリリソースがひっ迫状態・セッションを大量に使用する処理の実行 → Hazelcastのメモリ消費量が限界を超過
・OutOfMemoryErrorの発生 → Hazelcastインスタンスの強制シャットダウン
・Hazelcastインスタンスの非アクティブ化 → セッション管理機能の停止
・AP1サーバーでのセッション処理不能 → ログイン機能の障害発生
根本的な要因:
Hazelcastのヒープメモリ容量に対して、セッション管理で必要なメモリ使用量が上回ったことによるリソース不足2. 対応方法
根本解決方法:
標準サービスではヒープサイズの変更はできません。リソース不足による問題の場合、解決手段の一つとしてプラン変更もご検討いただけます。詳細は以下のドキュメントをご確認ください。 標準リソースプラン: https://aws.accel-mart.com/service_manual/texts/03_specifications/02_resource_plans/01_standard_resource_plans.html Gearプラン: https://aws.accel-mart.com/service_manual/texts/03_specifications/02_resource_plans/02_gear_resource_plans.html暫定対処方法:
1. サーバー再起動によるAPサーバの初期化2. メモリ使用状況の定期的な監視
3. 大量セッション処理が予想される場合の事前対策検討
3. 原因究明に至るまでの調査方法
1. システムログでのエラー発生時刻の特定(14:07頃)2. AP1、AP2両サーバーのログ比較による障害範囲の確認
3. Hazelcastログでの詳細エラー内容の確認
4. OutOfMemoryErrorスタックトレースの解析
5. Hazelcastヒープ使用率の履歴調査(3.8G-4G使用を確認)
6. セッション処理パターンとメモリ消費の関連性分析