第八話 本番環境の底
夏の夜は、昼よりも会社の輪郭をはっきりさせる。
昼間は人の出入りや電話の音で紛れていたものが、夜になると沈殿して見えてくる。机の傷、古いケーブルの曲がり癖、ホワイトボードに消し残された案件名、冷房の吹き出し口に溜まった黒い埃。
そして何より、残っている人間の顔。
八月のある金曜、夜八時を過ぎたオフィスで、翔太は本番障害の監視に入っていた。
担当者の一人が急病で休み、田中が別件に張りつき、木村も顧客との緊急連絡に追われている。
「見てるだけでいいから」と言われて残ったのだが、見ているだけで済む夜ほど少ないことを、翔太はもう知っていた。
問題は、月次集計ジョブの不安定さだった。
昼間の検証環境では正常。
本番でだけ、しかも負荷が高くなる夜間帯にだけ、ごく稀に処理順序が崩れる。
再現しない不具合。
いちばん嫌われる種類だ。
翔太はサブモニターにログ監視ツールを開き、時系列で記録を追っていた。
一行一行は普通だ。ジョブ開始。取得。変換。検証。出力。
だが、その“普通”の下に、何か別の流れが薄く走っている感覚があった。
根拠はない。
あるのは、これまで何度か見た単語の残像だけだ。
木村が席に戻ってきた。
ネクタイは緩み、シャツの襟元が少しだけ乱れている。
「顧客先、ひとまず落ち着いた。こっちはどう」
「まだ表立ったエラーはないです」
「ログの保存間隔、五秒に詰めといて」
「はい」
木村は自分の席へ戻りながら、低い声で言った。
「今日、変なの見えてもすぐ口にしなくていい。まず保存」
翔太の指が一瞬止まる。
「……前にも言いましたよね、それ」
「言ったっけ」
木村は振り返らなかった。
とぼけたのか、本当に覚えていないのか、翔太にはわからなかった。
ただ、その一言で、木村が“ありえないもの”の存在可能性を完全には否定していないことだけは確かだった。
九時三十分。
負荷が上がり始める。
田中が別ウィンドウでDB負荷を監視し、奥のインフラ担当がサーバリソースを見ている。
誰も大声は出さない。
それでも空気だけが細く張り詰める。
九時四十八分。
ログの一行に、妙な空白が生まれた。
たった一拍。
処理が止まったようにも、ログ出力が遅れただけのようにも見える。
翔太は保存キーに指を置いた。
次の瞬間、見慣れない文字列が流れた。
Boundary Layer mismatch
座標再解釈に失敗しました
喉の奥がひゅっと鳴る。
今度は見間違いではない。
英語の次に、日本語が出た。あまりにもはっきり。
「木村さん」
声を上げると同時に、翔太はログを保存した。
木村が数歩で背後に来る。
田中も振り向いた。
「どこ」
「ここです、いま……」
だが保存ログを開くと、その二行は消えていた。
前後の通常ログだけが整然と並んでいる。
「またか」
田中が舌打ち混じりに言った。
“また”という言葉に、翔太ははっきり反応した。
「前にもあったんですか」
田中は答えなかった。
木村が代わりに静かに言う。
「見えて、残らないログがある」
翔太は木村を見た。
いままで曖昧にしてきたことを、この人はついに言葉にした。
認めたのだ。
少なくとも“見えている側”の存在を。
「なんなんですか、それ」
「わからない」
「わからないのに放ってるんですか」
「放ってない」
木村の声が少しだけ硬くなる。
それは怒りというより、長く同じ壁に向かってきた人間の疲労に近かった。
「残らないものは、証拠にならない。証拠にならないものを、会社は障害として扱えない。だから普通の不具合として追える部分から削っていくしかない」
現実的すぎる説明だった。
理不尽なほど現実的で、その現実味がかえって怖かった。
見えないものを“なかったこと”にするのではない。
見えたとしても、扱う器がないのだ。
そのとき、別モニターのアラートが鳴った。
DB接続遅延。
田中が即座に切り替える。
木村が顧客影響を確認する。
翔太もログを追う。
奇妙な文言の話をしている余地は、一瞬で消えた。
障害対応の現場では、超常現象でさえ優先順位に負ける。
その事実が妙に滑稽で、同時に本物だった。
二十二時を回ったころ、遅延は収束し、ジョブも落ちずに完走した。
表向きは“軽微な遅延”で処理できる。顧客報告もその線でまとめられる。
だが翔太の中では、何ひとつ収束していなかった。
片づけの最中、木村が小さく言った。
「佐藤君、ちょっと」
会議室に入ると、木村はドアを閉めた。
薄いガラス越しにオフィスの灯りが滲んで見える。
椅子には座らず、木村は壁に寄りかかるように立った。
「怖かった?」
質問が直球すぎて、翔太は一瞬言葉を失った。
「……はい」
「そうだよね」
木村はすぐには続けなかった。
その間に、会議室の空調音だけが細く鳴っている。
「俺も最初はそうだった」
翔太は顔を上げた。
「最初?」
「見えないはずのログが見える。消えたはずの文字列が残る。時間が一瞬だけ巻く。そういうの、前にもあった」
木村はそこまで言って、また止まる。
「それを誰かに言ったんですか」
「言ったよ。昔ね」
「信じてもらえましたか」
木村は薄く笑った。
「信じるとか信じないとかじゃなくて、“残ってないなら対応できない”って返された」
それは、たぶん正しい。
正しいからこそ逃げ場がない。
「じゃあ今は……」
「今は、“ある”前提で動いてる。でも、触れ方を間違えるとまずい」
木村は視線を落としたまま言った。
「佐藤君。君が見てるもの、たぶん俺も昔見た。だから完全に気のせいだとは言わない。でも、興味本位で追うな」
興味本位。
その言葉に翔太は少しだけ反発した。
これはもう、興味だけではない。仕事の中に入り込んでいる。
だが、その反発を口にする前に、木村が先に続ける。
「追うなら、順番を守れ。目の前の仕事を固めろ。地面なしで覗くな」
覗くな、という言い方が、ひどく具体的に聞こえた。
何かを“見る”こと自体が危険だと言っているように。
その夜、帰宅してからも翔太の耳にはサーバルームの低い駆動音が残っていた。
実際には会議室にいた時間のほうが長かったはずなのに、耳の奥ではずっと機械が回っている。
シャワーを浴びても消えない。
ベッドに横になっても、ログの英語文だけが暗闇に浮かぶ。
Boundary Layer mismatch
座標再解釈に失敗しました
それは単なる文字列ではなく、どこかの“向こう側”からの通知のように思えた。




