#えむけーろぐ

間違った事を書いていたらやさしく教えてください

【障害報告・復旧済】「ゆるふわPodcast Webサイト」にて、ふっくん @fukuroq がゲストとして表示される事象が発生していました #yuru28

平素より、ゆるふわPodcastをご視聴いただき誠にありがとうございます。

yuru28.com

2024年2月16日(金) 22:45頃から、ゆるふわPodcast Webサイトにてふっくん(@fukuroq)がオーガナイザー一覧から消えてゲストとして表示されるという事象が発生しておりました。

本事象は解決済みで、現在は正常に表示される状態となっております。

事象

  • Webサイト サイドバーのオーガナイザー一覧にふっくんが表示されない
  • Webサイト スピーカー一覧画面にてふっくんがゲストとして表示される
左: サイドバー オーガナイザー一覧
右: スピーカー一覧

発生期間

2024年2月16日(金) 22:45 〜 2024年2月24日(土) 12:45

影響範囲

ゆるふわPodcast Webサイトに訪問したすべてのユーザー

発生要因

  • ある出演者がオーガナイザーかどうかを、名前で判定するような実装になっていたこと
  • fk2763owlという名前をfukuroqに変更したことにより、ふっくんのオーガナイザー判定が偽となってしまったこと

該当箇所のコード あるSpeakerがorganizerかどうかをnameカラムの値で判定している

障害発生と対応の経緯

  • 2024-02-16 22:45 管理画面にてふっくんの名前( speakers.name )を fukuroq に変更、障害が発生
  • 2024-02-23 21:00頃 ふっくんが自身の名前がサイドバーから消え、ゲスト扱いになっていることを確認
  • 2024-02-23 22:00頃 Podcast Aftershow収録中、ふっくんからmktakuyaに口頭で事象の発生を報告、障害発生の検知
  • 2024-02-24 12:00頃 対応方針の決定
  • 2024-02-24 12:44 本番環境への修正リリース 完了
  • 2024-02-24 12:45 本番環境にて事象が解消し、障害からの復旧を確認

再発防止策

  • オーガナイザー判定を名前ではなく設定値(speakersテーブルのorganizerカラム)で行うように実装を変更

Speakerモデルのdiff

おわりに

ゆるふわPodcast WebサイトはRuby on Rails製で、First commitは2020年4月でした。

かれこれ4年ほどメンテしているこのRailsアプリケーションには、いろいろな技術を試してみたまま片付けずに放置した痕跡や、単にエンジニアとしての実力不足によりいま見るとありえないと思ってしまうような設計・コードがたくさん眠っています。

今回の障害で、実際に痛い目*1に遭うことが出来たので、良い体験だったなと思います。

*1:といってもふっくんが消えただけ(?)ですが