August 2017
Intermediate to advanced
590 pages
8h 40m
Japanese
Shakespeare Sonnet++ ポストモーテム(インシデント番号465)
作成日:2015-10-21
作者:jennifer、martym、agoogler
ステータス:完了、アクションアイテムは対応中。
サマリ:新しいソネットが発見されたことによって急激にシェークスピアへの関心が高まった期間に、シェークスピア検索が66分間にわたってダウンした。
インパクト:推定12.1億のクエリがロスト、収益への影響なし†1。
根本原因:異常に高い負荷と、検索語句がシェークスピアのコーパスにないことによって検索が失敗した場合に生じるリソースリークが重なったことによるカスケード障害。新たに発見されたソネットにはこれまでのシェークスピアのいずれの作品でも使われていなかった単語が使われており、ユーザーはその単語を検索した。通常の状況下では、リソースリークによるタスク障害の発生頻度は気づかれない程度の低さである†2。
発生要因:トラフィックの突然の増加によって表面化した潜在バグ。
対応:トラフィックを犠牲となるクラスタへ流し、カスケード障害の緩和のために10倍のキャパシティを追加した。更新されたインデックスをデプロイし、潜在バグの影響が生じないようにした。追加のキャパシティは、新しいソネットに対する世間の関心の高まりが落ち着くまで保持する。リソースリークは特定され、修正がデプロイされた。
検出:BorgmonがHTTP 500が大量に生じていることを検出し、オンコールをページした。
アクションアイテム:†3
| アクションアイテム | 種類 | 担当 | バグ |
|---|---|---|---|
| 手順書のカスケード障害への対応方法を更新する | 緩和 | jennifer | n/a DONE |
| flux capacitorを使ってクラスタ間のバランスを取る ... |