🧟

リリース直前にテスト環境のエラーに気づいた話

に公開

とある月曜夜の出来事

やだなー。怖いなー。
そんな思いが頭をかすめたのは、午後7時半。子供をお風呂に入れていた時のことだ。
さっき見たSlackの赤い文字が忘れられない。
やだなー。怖いなー。そんな思いが何度も頭を巡った。

それはテスト環境のエラー通知であった。
急いでいたこともあり、誰かが操作を間違えたのだろうと思った。
待っていたら誰かが「犯人は俺だ」スタンプをつけるだろうとも思った。

しかし、エラーになっていたシステムは普段誰も使わない。
夜な夜な粛々と稼働し、存在をあまり気にされない。
そんなシステムから発せられたエラー。

あのシステムがエラーになる可能性は?
まさか今週末リリース予定のあの大規模案件の影響?
リリース判定を先週金曜日に終え、後はおとなしくリリースを待つあの案件か!?
勘弁してくれよぉ~。

そして明かされる真実

どうでしょうか?ひやりとするものを感じましたか?
本ブログは弊社ウェルスナビのブログ企画「真夏の怪談!ひやりハット特集」の一編です。

自己紹介が遅れました。ウェルスナビでバックエンドエンジニアをしている香川です。
弊社の金融事務、カスタマーサポート部門が使用するバックオフィスシステムを主に担当しています。
弊社は金融機関であり、口座開設申込審査、NISA開設申込審査、お問い合わせ対応をはじめとした多種多様なバックオフィス業務があります。これらの業務を正確・迅速に対応してもらうべく、上記部門と協力しあいシステム開発・保守に日々勤しんでいます。

さて、冒頭のエラーの話に戻ります。
エラーとなっていたシステムは、お客様がWEB上で申し込んだ内容を電子記録として変換/保管するシステムでした。(幽霊は宿っていません。)
2024年から始まる新NISAを見越して、週末に大型案件リリースが控えていた2023年6月に起こったことです。
一通りの開発、テスト、社内のリリース判定を終え、後は慎重にリリース準備を進めるだけという段階でした。

新NISAは会社として重要な施策に挙げられており、開発部門だけでなくビジネス部門とも綿密に連携、調整していました。
重要なリリースであり、緊張した数週間を過ごしていたことを記憶しています。
そんな中で修正したシステムと近いシステムから発せられたエラーに、テスト環境のものとはいえ、ヒヤリどころか寒々しく感じたことを今でも覚えています。

修正したシステム(社内システムN)とエラーとなったシステム(バッチ処理B)は次の図のようにデータベースのテーブルで繋がっていました。

社内システムNでデータ連携テーブルAのステータスカラムに新しいステータスを追加したのですが、新しいステータスをバッチ処理Bが処理できずにエラーとなっていました。
詳しくいうと、バッチ処理Bが読み取ったデータをJavaオブジェクトに変換する際に新しいステータスに該当するEnumが存在せずエラーになりました。
バッチ処理Bでは、そのステータスカラムを使っていなかったので影響範囲調査では見逃してしまいました。

幸い修正は簡単で、2日後には再度リリース判定をパスし、週末のリリースは無事完了しました。今でも元気に動いています。
もし本番で起こしていたら、、19時の処理なので退勤後の関係者に声をかけ復旧対応、今後の調整等に付き合ってもらっていたと思います。本番で見つからなくて本当によかったと思います。

お清め

ひやりハットは学び・改善の機会です!
このひやりハットで学んだこと、改めて思い出したことをいくつか記載します。
皆さんの他山の石になりますように!

  • 影響範囲調査は慎重に行おう。
    • テーブルで連携しあっているシステムの調査は念入りにしよう。
      • 未使用カラムでエラーが出ないように開発時に作りこむのが一番いい。
  • テスト環境を大切に使おう。
    • もちろんテスト環境までバグを持ち込まないに越したことはないのですが、最後の砦としてテスト環境が本番に近い環境として維持することはとても大切です。
      • テスト環境で不用意にエラーが発生しない状態にしよう。(テスト環境のエラー通知が既知のエラーで溢れていたら、一つ一つ丁寧に調べようとは思わないですよね?)
        • 本番リリースにあわせてテスト環境も同じ設定にする。
        • エラーがあったら調べる。テスト環境で起こることは本番でも起こる可能性がある。
        • エラーを起こしたら、他者が不必要に時間をとって調べないように自己申告する。(「犯人は俺だ」スタンプをペタッ)

書いていて当たり前だなと思うことばかりで恐縮なのですが、当たり前のことをコツコツと着実に守り続けるのはシステム開発の基本だとこういう機会の度に思います。
当たり前のシステム開発を、みんなが当たり前と思って真面目に向き合う環境がウェルスナビにはあります!
📣ウェルスナビは一緒に働く仲間を募集しています📣
https://hrmos.co/pages/wealthnavi/jobs

WealthNavi Engineering Blog

Discussion