kokonani

久しぶりの日記だわぁ。

普段「忙しい」という単語だけは一言も言わないようにしている俺だが
今週だけは危うく忙殺されるところだったと言える。

障害に障害が重なり、全ての案件が特急案件である。
まだ復旧してない?今止まった?本番直前なのにテストが通らない?
障害祭りを超えた障害祭り祭である。

基本的にVIPの対応は設計直でしなければならない場合が多いので
パニックなぞ起きようものならいきなり設計まで案件が来る。

パニックならまだいい。今回はハングの案件も混ざっていた。
最悪だ。無応答だ。何が原因だ。まぁ多分I/Oだ。
パニックみたいに直接原因がわかれば調査の取っ掛りがあるからまだいいんだが
ハングの場合は手がかりなしなので全てが手探りで調査が始まる。

そんで俺は月曜に徹夜して朝帰って正午前ぐらいに会社に来たら
LVMもミドルもディスクドライバも悪くないから
悪いのはハード側だよねみたいなことになってて
俺なんで徹夜したのという理不尽な気分になっていた。
いや、まぁ悪くないってことを証明するのも大事なんだが。

で、原因はアダプタドライバの設計がお粗末すぎて
これじゃI/O溜まる可能性あるに決まってるでしょという結果に終わり
(アダプタは弊社製なのでドライバもハード側が作ってる)
なんだか微妙な気分でこの案件は閉じた。

-----

「テストしたけどつながらねーんだけどってSEがごねてるんだけど!」

ついでに並行してミドルの設計から来た案件に対応していたわけだが
基本的に、ミドル側が

「このシステムコールに投げてるからあとはOSの問題ですよね」

みたいなことを言われると、OS側は調査せざるを得ない。
しかし今回の依頼のされ方はイラッ☆ときた。

「うちのアプリケーションはログを見る限り悪くないです」

うーん、むかつく。これで切り分けしたと言われてもなぁ。
だがやはり悪くないと言われると調べざるを得ないのである。

内容としてはルーティングテーブルに情報追加しても
うまく相手先に送信できないんだけどって話だった。

ミドル(通信アプリケーション)を起動している。
→ ルーティングテーブルを追加する
→ 相手先にパケットが届かないんですけど(pingは届く)

ああ…ミドル再起動してないんだね…
コネクション貼ったときに保持したルーティング情報が更新されてないんだろうね…
(実際、再起動すればつながるようになった)

ここでめんどくさいのは「多分そうなんだろう」で回答するんじゃなくて
ルーティング情報が取得されるタイミングと更新されるタイミングがいつなのかを
カーネル(っていうかsocket)のソースから裏づけをとらなければいけないことである。

いいよ。そこは別にやるよ。でもできれば
「テストからはこうだからOSの仕様ってこれであってますよね?」
っていうところまでやってから、問い合わせて欲しかったなぁという話。

調査の時間よりも、ここにいたるまでのヒヤリングとテストのほうが
はっきり言って時間がかかっている。
blog comments powered by Disqus