誰、私?新しい週は、不運な技術者たちが現場での失敗談を語る、The Register のいつもの恥の殿堂に新しい話が加わることを意味します。ようこそ、誰、私?へ。
今日の危機一髪の出来事は、「有名な通信会社」のカード決済プラットフォームの開発に取り組んでいた「ダン」という読者のおかげで起こった。
サーバーがダウンしても誰も気づかないなら、本当に故障したと言えるのでしょうか?ランチタイムに考えてみてください。
続きを読む
ダンは謙虚に「新卒の僕にとっては、かなり大変な仕事」だと語り、彼が取り組む前は「請求書の支払いのために電話をかけると、詳細が書き留められて中央のグループにファックス送信され、カード端末で手動で支払いを受け取り、口座を更新していた」と説明した。
ああ、あの頃はよかった。
ダンは生産性の高い人物で、私たちにこう言いました。「3ヶ月後には、支払いは即座に承認され、決済は夜間に行われるウェブアプリケーションが稼働していました。」顧客のアカウントは、バッチファイルの魔法によって定期的に更新されるようになりました。
誰もが経験したことがあるだろう。「最初は『試験的』として始まったものが、すぐにすべてのコールセンターに拡大されました」。ダンの机の上に置かれた機械で動作していたにもかかわらずだ。
避けられない事態がすぐに起こりました。大切な昼食時間が迫っていたため、ダンは開発データベースを整理して次のアップデートのテストに備えるのが良い考えだと考えました。
「いつものように入力してDELETE FROM PAYMENTS
実行をクリックしただけです。」
ダンは正午の食事の約束に間に合うよう、仕事が終わるのを待ち続けた。そして待ち続けた。そしてさらに待ち続けた。
開発データベース内の 50 件程度のレコードを消去するには、どれくらいの時間がかかりますか?
もちろん、より賢明な人なら何が起こったか分かるでしょう。
「突然、不安な気持ちが襲ってきました」とダンさんは言う。「トライアルボックスに接続されていて、約3万件の取引が削除されていることに気づいたのです。」
ダンは、昼食のためにオフィスを抜け出すという提案を振り払い、コマンドがその恐ろしい作業を行う間、永遠に思えるほどの時間、椅子にどんどん沈み込んでいった。
作業が終わると、ダンはこう言いました。「すぐにロールバックボタンを押しました。それからまた永遠にも等しい時間(約2分)が経ち、作業は完了し、すべてのトランザクションが復元されました。」
ダンは試験データの近くでこれ以上時間を過ごしたくなかったので、急いで昼食に出かけた。戻ってみると、「システムの動作が非常に遅いという苦情のメールや電話が多数届いていた」という。
それは奇妙だ。
ダンは「問題が発生しましたが、今は解決しました」と一言だけ言い放ち、何とか全てを片付けました。ある上級管理職がさらに詳しく調べ、実際に何が起こったのか尋ねました。ダンは「キーボードのナットが緩んでいたんです」と答えました。
「会話はそこで終わりました。」
コードを本来実行すべきではない場所で実行してしまった経験はありませんか?あるいは、一時的な解決策が長期的な解決策に変わってしまった経験はありませんか?もちろん、そんな経験はあります。さあ、ウェットティッシュで過去を清算しましょう。®