LogicDesigner無限ループによるディスク容量逼迫とサービス停止

質問

⚠️ この事例は公開されてから1年以上経過しています。 情報が古い可能性がありますので、ご注意ください。

🕓 事例公開日 : 2025-04-15

【背景】

開発環境でLogicDesignerを使った開発作業中に、無限ループ処理を作成してしまい、デバッグ実行時にシステムに高負荷をかけてしまった。その後、環境にアクセスできなくなった。



1. 事象

エラーメッセージ・スタックトレース:

503 Service Unavailable502 Bad Gateway

症状の説明:

午後1時頃から開発環境のログイン画面にアクセスしようとすると、503エラーが表示されるようになった。その後、ログファイル削除対応後の再起動では502エラーが発生した。



2. 発生条件

LogicDesignerで無限ループ処理を含むロジックを作成し、デバッグ実行を行った際に発生。午前11時51分頃からディスク使用量が急激に増加し始めた。

回答

1. 原因

技術的な原因:

LogicDesignerの無限ループ処理により大量のログが出力され、ディスク容量が逼迫してシステムが停止しました。

技術的要因の分析:

・無限ループ処理の実行 → JVMログが短時間で数GB単位で出力される
・大量ログ出力の継続 → ディスク使用量が急激に増加し容量を圧迫
・ディスク容量の逼迫 → システムが正常に動作できない状態に陥る
・Exceptionログの大量生成 → 約262万ファイルのExceptionログが作成される
・rsync処理の多重実行 → ログ同期処理が5分以内に完了せず、プロセスが増え続ける

根本的な要因:

LogicDesignerでの無限ループ処理により、システムリソースを大量消費するログ出力が継続的に発生し、ディスク容量不足によるサービス停止が発生しました。

2. 対応方法

根本解決方法:

1. 2025/03/12 01:00:36時点のバックアップからリストアを実施
2. 無限ループ処理を含まない正常な状態に環境を復旧
3. 開発チーム内でループ処理の作成・実行手順を見直し

暫定対処方法:

大量出力されたJVMログファイルを手動削除し、システム再起動を実施する方法もありましたが、Exceptionログの大量ファイル(262万ファイル)による日次アーカイブ処理での再障害リスクを考慮し、リストアによる根本解決を選択しました。

3. 原因究明に至るまでの調査方法

1. 503エラー発生の確認とディスク使用量の調査(2025-03-13 11:51頃からの増加を確認)
2. JVMログファイルの肥大化確認(数GB単位のログファイルを特定)
3. 大量JVMログファイルの削除とシステム再起動の実施
4. 再起動後のrsyncプロセス増加現象の発見と調査
5. Exceptionログの大量ファイル生成(262万ファイル)の確認
6. 日次アーカイブ処理による再障害リスクの評価
7. バックアップからのリストア実施による根本解決
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk