Hazelcastインスタンス非アクティブエラーによるログイン障害

質問

🕓 事例公開日 : 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. セッション処理パターンとメモリ消費の関連性分析
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk