夜明け前の一位
午前二時、対戦ゲームの順位表から、一位の名前が消えた。
正確には、一位だけではない。上位百人が全員「圏外」になり、百一位だった選手が王冠を付けている。朝六時に大会の組み合わせを発表するため、それまでに戻せなければならない。
夜間運用の久須美朔は、順位を更新するバッチの結果を見た。処理自体は成功になっている。順位表を速く表示するキャッシュにも、空の上位百人が正しく保存されていた。
「昨日のバックアップへ戻す?」
同僚が訊く。朔は大会参加者の戦績を一件だけ開いた。勝数は残っている。消えたのは成績ではなく、集計の対象だった。
大会の締切は世界共通でUTCの午前二時だった。ところが今夜追加された設定だけ、日本時間が選ばれたまま「午前二時」と入力されている。実際には前日のUTC午後五時として保存され、締切が九時間早まった。上位選手ほど予選終了後に登録しており、その九時間に入ったため「締切後の無効な参加者」として外されていた。
締切時刻を九時間ずらせば戻る。しかし朔は修正ボタンを押さなかった。すでに圏外を見て参加を取り消した選手がいるかもしれない。登録時刻だけ直すと、その操作が上書きされる。
彼は順位を再計算する前に、午前二時以降の参加変更を別に保存した。締切の時刻を直し、元の参加者を戻した後、本人が取り消した分だけをもう一度反映する。
午前四時、一位の名前と王冠が帰ってきた。百一位も本来の位置に戻った。朔はキャッシュを一度に全消去せず、大会の順位表だけ更新した。ほかの地域で進行中の試合表示を巻き込まないためだ。
大会担当が確認し、「一位、戻りました」と息を吐いた。
朔は一位だけでなく、百位と百一位の境目を見た。参加資格の線が正しいことを確かめてから、発表を許可した。
午前六時、組み合わせが公開された。直後、観戦画面の同時接続数が跳ね上がり、別の警告が赤く点いた。
朔は順位表を閉じた。夜明け前の一位を救った画面に、昼まで落とせない観客の数が流れ始めた。