転送中のファイルを削除してしまった私の真のやらかし
何をしてしまったのか
とある基幹システムの更改案件でした。私が担当していたシステムは、ネットワークを通じてHULFT
で受けたファイルを他システムに中継する役割を行っているサーバーでした。
サーバーのOSインストールやHULFT
など業務アプリケーションが動作するところまでがベンダーSEである私の担当範囲であり、HULFT
で受けたファイルを他システムに連携したりHULFT
の定義を修正・更新する役割はエンドユーザーの担当範囲でした。
エンドユーザーとは協力しながらシステムを構築できていたと思います。担当者の方とはお互いに初めて参加するプロジェクトであり、システムの細かい動作については分からないことが多い状態でしたが構築を円滑に進められていましたね。
そして、エンドユーザーが該当システムで使用しているシェルの中にHULFTで受けたファイルが溜まり続けないようにファイルを削除するシェルがありました。私は気を利かせて、担当外の作業でありましたが、午前0時くらいに実行すればいいなと、あまり中身を確認せず判断してしまったのです。
エンドユーザーは私にほとんど任せていて、最終的にcron
により定期的に動作するように仕掛けました。
そして、本番稼働後、事は起きました。
他システムで、私が担当したサーバーに対しHULFT
の送信に失敗するアラームが発生したのです。
惨劇はなぜ起こってしまったのか
相手システムのHULFT
がエラーを起こした原因は、私がcron
で仕掛けたファイルを削除するシェルが原因でした。
他システムからのHULFT
受信とファイルを削除するシェルが同じタイミングで動作し、受けたファイルを他のシステムへ転送している途中でシェルがファイルを削除してしまったのです。
幸いにしてファイルを再送してもらうことでリカバリはできました。
しかし、本番ファイルを削除してしまうという事態に、私は真っ青になりました。
社会インフラを担うエンドユーザーの業種ということもあり、この時はこっぴどく怒られたのでした。
偉い人「何がどうなってるんだー、この野郎!!」
私「ひぇええ」
二度と惨劇をおこさないためにどうしたのか
私はシェルの中身を見直し、そもそもシェルの使い方が間違っていることに気づきました。
シェルにはパラメーターとしてファイルの更新日からファイルを削除する日数までの指定ができたのでした。
そのため、以下の2つを改めました。
- シェルのパラメーターを設定し、ファイルが削除されるまでの日数を指定する。
-
HULFT
の転送が行われない時間帯にシェルを動作するようにする。
この処置により同様の障害が発生することはなくなりました。
真のやらかし
さて、私がやらかしてしまった真のやらかしはシェルの使い方を間違ったことではありません。
私の担当外であるユーザー資産を適用してしまった役割分担のあいまいさにあります。
ユーザーとの役割分担は、要件を決めるときなどにはっきりしておくべきでありますが、ユーザーからの「やってくれるんだよね?」というプレッシャーであるとか、好意で「やっときますよ~」は時として大事故を起こす原因となります。
真のやらかしを二度と起こさないためにどうしたのか
では、二度と惨劇を起こさないためにどうしたか、というと、実はどうもしていません。今回の事はすぐに修正することができ、大事に至らなかったため、その当時、気に留める人は多くなかったと思います。
しかし、今回のような大事に至らなかったミスでも、ユーザー・ベンダー関係なく教訓として残したり、属人化せずに引き継ぐ文化があれば良かったと思います。残念ながら、このプロジェクトではそこまでの仕組みを築けませんでした。
そして、私は役割分担のあいまいさについて多くの事を学ぶことができたのでした。
おわりに
昨今、金融機関で発生したトラブルがよく目につきますが、私がやらかしたようなことにより世間を騒がしているのかもしれません。このような事故を起こさないためにも、ユーザーとベンダーが役割分担を明確にし、事故を未然に防ぐ文化を作り上げていくことが大事なのではないでしょうか。
Author And Source
この問題について(転送中のファイルを削除してしまった私の真のやらかし), 我々は、より多くの情報をここで見つけました https://qiita.com/kimuradesu/items/9ef3de92a98269fa154f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .