# 再帰障害
## 定義
再帰障害(recurring failures)とは、オンラインサービスシステムにおいて、過去に発生した障害と同種の根本原因を持つが、異なるコンポーネントの箇所で繰り返し発生する障害のことである。根本原因の誤解釈、修正デプロイの遅延、または高負荷時の創発的な挙動によって発生する。(Source: [[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]])
代表的な再帰障害の原因カテゴリ:
- **外部要因**: サードパーティサービスの不可用、不良リクエスト
- **ハードウェア要因**: ディスク障害、ネットワーク遅延・パケットロス
- **ミドルウェア要因**: スロー SQL クエリ、データベースインデックス欠損、セッション上限
非再帰障害の原因カテゴリ(主にコード欠陥・設計欠陥・データ不整合)とは区別される。
## 横断的知見
- **再帰障害の発生率は高く、産業規模の問題である**: DéjàVu([[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]])の compA(中国建設銀行、100M+ ユーザー、300+ アプリ、576 件チケット)の調査では 74.38% が再帰障害。Dogga+は主要 SaaS 企業で 94%、Lee & Iyer は 70% と報告しており、複数独立研究が同じ傾向を確認している。(Source: [[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]])
- **再帰性は「場所の繰り返し」ではなく「種類の繰り返し」である**: 同一コンポーネントで同じ障害が起きるのではなく、同種の障害(例: CPU 枯渇)が異なる箇所(例: Docker A vs Docker B)で繰り返される。この定義は「過去の正解を直接転用する」手法(JSS'20、iSQUAD)では汎化できないことを意味する。(Source: [[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]])
- **再帰性は箇所特定に監督学習を適用する強い根拠となる**: 非再帰障害は定義上「新規」なので過去データから学べないが、再帰障害は「同種を別箇所で見た」データが積み上がる。DéjàVu はこの性質を活用して障害クラス内での学習転移を実現した。(Source: [[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]])
## 未解決の問い
- 再帰障害の発生率(74〜94%)は産業・システム種別によりどれくらい変動するか。クラウドネイティブ vs 旧来型 SOA で傾向が異なるか。
- 非再帰障害と再帰障害をリアルタイムに分類する方法は何か。DéjàVu は suspicious score が低い場合に「非再帰かもしれない」と警告するが、精度の定量評価はない。
- 再帰障害の削減に向けた post-incident action(根本原因の完全修正、設計変更)との統合はどう設計すべきか。AIOps は「再帰を速く直す」に最適化するが「再帰をなくす」には設計・開発フィードバックが必要。
## 関連
- 上位概念: [[インシデント管理]] / [[AIOps]] / [[Fault Localization]]
- 関連概念: [[根本原因分析]] / [[障害依存グラフ]] / [[フィードバック駆動開発]]
- 主要ソース: [[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]]
## 出典
- [[@2022__ESEC FSE__Actionable and Interpretable Fault Localization for Recurring Failures in Online Service Systems]] §2.1(再帰障害の定義・発生率・カテゴリ)