レース用列車

ロバート・Gは、列車が予期せず切り離されたことで旅行の遅延を経験しました。彼は旅程を再予約する必要があり、それが30分の遅延を引き起こしました。さらなる不便を避けるため、ロバートは鉄道会社のアプリを使用して次の列車への予約を確保し、確認を受け取りました。待っている間、彼はスムーズな乗り換えを期待してコーヒーを飲みました。次の列車に乗り込むと、彼は同じ予約席を主張する別の乗客に遭遇しました。両方の乗客は、同じタイムスタンプで同じ座席予約を示したスマートフォンのアプリの確認を提示しました。彼らはまた、電子メールの確認も確認し、それがさらに彼らの矛盾した予約を裏付けました。幸いなことに、列車は満席ではなかったため、全員が問題なく席を見つけました。この事件は、鉄道会社の予約システムにおける重大な競合状態を浮き彫りにしました。そこでは、チェックと予約のプロセスがアトミックではありませんでした。著者は、無関心または他のソフトウェア問題の圧倒的な数のために優先順位が付けられていないためにバグが存続していると推測しています。チェックと予約のアクションが単一の不可分な操作として実行されないため、システムはおそらく同時に2人のユーザーが同じ座席を予約することを許可しています。