GEN MUTO'S HOMEPAGE > Cell_雀公式サイト > 不定期コラム | |
Cell_雀 不定期コラム 第十七弾! |
|
携帯のベルが鳴ります。 「もしもし…?」 営業からの電話でした。 「今、お客さんのところにおるんだけど…なんかもうワケわからんようになってしまって…。悪いけど今からヘルプに来てくれん?」 まだ夕食も食べていなかった私は晩飯代が浮いたとニヤリとしながら…、 「ういっス。今日はラーメンを食いたい気分っス」 「わかった、わかった、ラーメンでもなんでもおごったるから…」 私は行き先を急遽、営業の待つ客先へと変更したのでした。 客先のドアを開け、中に入ったとたん悪い予感がしました。 「…ヤっべえ…とこに来ちゃったかな…」 営業が机一面に所狭しとサーバーを分解しています。剥き出しのハードディスクがウイン、ウインと金属音をたててました。 「どーなっちゃったんス?これ?」 とりあえず、現状を確認すると…。 曰く、データベースのバックアップを取ろうとしたら、途中でサーバーが落っこちて、再起動しても起動しなくなった。そこで別の機械にハードディスクだけ換装し、とりあえず起動させたところ…とのことでした。 「ドライブ認識するんですか?」 「うん。とりあえず中は見れるようになった」 早いとこデータを吸い出したほうがよさそうです。それにしてもなぜサーバーが落っこちたのでしょう? 「明日、月締めの処理があるから、とりあえず動かさないとヤバイんだわ」 私だって明日、別の客先の現地作業が大詰めです。早いとこ家に帰って、寝れるだけ寝たい。そのためにもとりあえず復旧させなくては…。 なんとかデータベースにアクセスできるところまで回復させました。さあ、バックアップをとって早く作業終了させちゃうぞ! 「とりあえず復旧しましたので、いつもの処理をしてもらえますか?」 トラブルのため十時過ぎまでつき合わされている女子事務員がうんざりした顔でいつもの作業をやってくれました。 「いいみたいですね…、とりあえず今日の受注一覧表を出してみますね」 そういって彼女は受注一覧出力をクリックしました。 「………」 「遅いですね、まだ出ませんか?」 「………」 「あれれ?どっかおかしいのかな?」 「いえ、こんなもんです。いつも印刷までに十五分はかかりますから…」 なんですと!それはちょっと、いくらなんでも遅すぎるんじゃ…。 「あの…一日の受注件数てどのくらいです?」 「数十件ですね。明細入れても百件は超えません」 マジっすか…。たったそれだけの件数でこの遅さは異常すぎます。 「これってキャンセルできませんか?」 そういって処理を中断してもらい、データベースの中を覗いてみました。 額にじっとりと汗がにじみます。 「…マジか…、データベースの総量1GB超えてるジャン…」 おそるおそる、受注ファイルの中を覗いてみました。 「うっがあー!データ、一千万件超えてるジャン!!」 年間数万件もいけばイイとこの受注データが、なぜか一千万件を超えています(笑)。 気を取り直してファイルの中をよく見ると、同じようなデータが連続して並んでいました。 「これって全く同じ明細データだよなあ…」 日付もコードも同じ明細が延々と並んでいます。しかも、キリのいいことに百件ずつ。 「ちょっと…、いいですか…」タバコを吸う仕草をして、営業を外に連れ出しました。 「ここのシステムって、どこが作ったんですか?」 「いや…実はそれが…」 営業の話を聞いて、全てガテンがいきました。 曰く、今のシステムを作ったウェアハウスは個人経営に近いようなところ、料金の支払いでこの客先とトラぶり一年ほど前からシステム更新をやめているとのこと、ちょうどその頃からシステムの調子が悪くなり始めたこと。 「それで、ウチでリプレースできないか検討する為にデータのバックアップを持って帰ろうとしたんだわ」 事務所に戻り、女子事務員に尋ねます。 「一年ほど前、システムをなにか変更するようなことなかったですか?」 するとちょうど一年ほど前、在庫管理の一部を手直ししてもらい、そのころから調子が悪くなり始めたとのコトです。 私の中である確信めいたヒラメキが沸き起こりました。うん、これはきっとそうに違いないぞ…、うん、間違いない。 「…ニャロメ、仕込みやがったな…!」 私は心の中で静かにつぶやきました(笑)。 データがちょうど百件ずつ重複するバグなど起こすほうが難しいです。支払いのトラブルから腹いせに何か仕込んだと考えるほうが自然でしょう。 ソースコードを分析してみようかとも思いましたが、やめました。もし私が同様に何か仕込むとしたら、一見しただけで分かるような場所に仕込むハズが無いからです。 とりあえずその日は、そこまでで作業を終了し、営業と二人客先を後にしました。 深夜のラーメン屋でラーメンをすすりながら営業と話し込んでいました。 「あれ、絶対なにか仕込んでありますよ…」 「そうだよなあ…普通、あんなふうになるなんて考えられないもんなあ…」 「支払いのトラブルってどんなだったんです?」 「いや…あそこの社長がまた強烈な人で…、ちょっとでもシステムで気に入らんところがあったら絶対に金は払わんて…、今までにも散々修正させられた挙句、一円も金もらえんかったみたいだな…」 なるほど、それで堪忍袋の尾が切れて、最後の修正のときに「爆弾」を仕込んでいったのか…。私は勝手にそう想像しました。 考えてみればうまい方法です。百件ずつデータが重複していくなら、最初の数ヶ月はちょっと重たくなったなあ…程度にしか感じないはずです。そして半年が過ぎ、一年が過ぎる頃になると…。肥大化したデータベースはますます動きが鈍くなり、最後にはウンともスンともいわなくなるはずです。そして、そうなったときには後の祭り…。 思えば、最初にサーバーがコケタのも、肥大化したデータベースの処理でチップに相当の負担がかかっていた為でしょう。 「あのシステムのリプレースだけはゴメンですよ」 「うん。あまり首突っ込まないほうがいいかもしれんなあ…なんたって金払い悪いし…」 今まで散々、客先との金銭のトラブルはありました。自分はSEですが、お金のことは営業と話すから…といってビシバシ!システム作らされ…挙句の果てにはあそこが気に入らないとかココが要求と違うとか、難癖付けられまくって支払いを渋る…といったケースを何度か経験しています。 正直、システムなんて文句を付けようと思えばいくらだって文句が付けられるし、物と違い一度納品したら返品してくれと言えないし…、(返品してもらっても意味ないし…)絶対的にお客さんが有利なんですよ。 先ほどのシステムも、お金が払えないほどひどい代物には見えませんでした。むしろその辺の業務システムよりよっぽど出来がよかったです。(えーっ!これで金取るの!?サギじゃん…ってなシステムは腐るほど見てきましたから…) むしろ、あそこまでがんばったのにお客さんに裏切られた…、理解してもらえなかった…。そんな思いが彼を「時限爆弾」の仕込みという凶行に走らせたのではないか。などと、またまた勝手に想像してしまいました。 あっと、もう一度ことわっておきますが、あくまで私の「想像」ですよ「想像」。ソースコードを分析したわけではないので、本当に「爆弾」だったかどうかは分かりません。 ひょっとしたらとっても不思議な現象が起こって、あのようなバグが発生していたのかもしれませんし…(笑)。 |
|
>> 次の話にすすむ |
|
|