2008年3月10日に東京証券取引所の株式売買システムで障害が発生した問題(関連記事1関連記事2関連記事3)で、東証は11日朝9時の取引開始までに、同様の事象が起こらないようにシステムを修正したことを明らかにした。修正後は「順調に稼働している」(広報)という。

 10日の午後1時まで株式2銘柄の売買ができなかったのは、同日午前8時59分に発生したデータベースのデッドロックが引き金だった。東証の売買システムでは、デッドロック状態に陥った2つのトランザクションのうち先行処理を優先するため、後発の処理は強制終了させて一定時間が経過した後に再起動(リトライ)する。同システムでは、リトライ回数の上限を100回と定めていたが、この上限を撤廃。リトライを事実上無制限に繰り返せるようにした。

 リトライの回数制限は、システムに無駄な負荷がかかるのを防ぐために設定していたとみられる。だが、10日朝と同様のデッドロックが発生した場合でも、「500回ほどリトライを繰り返す間に先行のトランザクションが完了し、後続のトランザクションも正常に終了することが確認できた」(広報)。システム全体を調査した結果、リトライ回数の撤廃が、まったく別のトラブルにつながる可能性はないとの確証が得られたため、修正に踏み切った。

 東証は今後、先行するトランザクションの処理に時間がかかったのはなぜか、各種のパラメータの設定値は適正かなどのポイントを総合的にチェックし、システム全体の信頼性向上を目指す。