コードのバグ対応・調査

コードのバグ対応・調査方法

タグ インシデント 対応 バグ 事故


概要

  • プロダクトとしてリリースしたモデルやシステムにバグがありそうな時の調査方法と、バグを発見した時の修正方法

バグの調査

  • BigQueryなどのデータウェアハウスのログを用いて、バグがない場合の期待する動作と、バグが有る場合の期待する動作が確認できる集計を行う
    • ここで大まかな仮説検証を行える
  • バグの現象の解像度を高めて、コードの部分の推定しやすくする
  • 逆に言うと、データウェアハウスがないと、バグの仮説検証のハードルが上がることになるので、ロギングは重要な要素になる

コードの修正

  • 前提
    • gitで管理されていると仮定
  • 環境構築
    • 開発環境とは別にクリーンな環境を作る
    • tmuxのwindowを切り、今の開発フォルダとは別のディレクトリで作業を開始する
    • 開発中のディレクトリと混ぜるべきではない
  • 具体的な手順
    • mkdir fix-foo-bar; cd fix-foo-bar
    • git clone git@github.com:<team>/<project.git>; cd <project>
    • git branch fix-foo-bar
    • git checkout fix-foo-bar
    • 最小限の修正で直して、テスト
    • git add <filename>
    • git commit -m <message>
    • git push --set-upstream origin fix-foo-bar
    • WebUIでpull requestsを行い、必要な人をアサイン
    • slack等でバグとそれに伴うエラーを報告し、周知
    • 関係メンバーの合意が取れ次第、main(リリース)ブランチにマージ