取ってきた詳細なデータが無駄になっていることが判明。取得するようにしました。16000ここでハネるつもりだったので、辛かった...またこの頃にはほぼ100%Failするようになっていました。Fail脱出を目指して...もう残り時間は1時間を切っているわけで、完全に手遅れじみていますが諦めるわけには行きません。この時の記憶がどうも残っていません。したり、アプリの状況とDBのデータを見比べたりしていたと思います。最後までFailだったわけですが。敗因たまのFailを甘く見てはいけない。あとは自分の中で計測を当てにしすぎてしまった部分があると思います。「推測するな計測せよ」に乗っ取り、計測によって見つけたボトルネック以外の問題に対する修正が消極的になっていました(むしろ悪だとも考えていた)。今回、自分がIdle状態になる時間があったのでもっと手を動かしてしまってた方が良かったかもしれないです。あと適切なIndexが貼れているかは計測しなくてもわかるので先に一通り見ておくべきでした。単純に実装力が足りなかった問題もあります。残席の管理にRedisのSet型を使えば予約処理がDBトランザクションから開放され上手く回りそうだという思いつきはありましたが、Goでスラスラと実装する力がありませんでした。ここらへんは感想戦で実践しましたが、これが入っていたら本戦も届き得たかもしれません。(あのとき足踏みせず途中でググるはめになることも恐れず突き進むべきだったのかも)感想8時間フルに頭を使った良い問題でした。モダンなポータルサイト、遅延の無いベンチ環境のおかげでとても快適に問題に取り組むことができました。ISUCON運営チームの皆様、本当にありがとうございました。2018年9月18日やるっきゃない!!!西アジア代表の名に恥じないScoreが出せました。太っ腹な対応本当にありがとうございました。これでぐっすり眠れます。親の顔より見たこのエラー文言。このときのDBに対して調査を行います。叩いているクエリを直接叩いてみます。予約は存在しないことになっています。予約されていないことになっているようです。初期実装のクエリで試しても同じ結果でした。予約されていないとして返していたことになります。初期実装のままいじっていなかったため、恐らく元からだったのではと思います。制約も無いため、確かに別ユーザーが同席を予約出来てしまいそうです。データ状況に陥る可能性は高くなります。していたのでは?と考えます。他のチームが難なく点数を伸ばしていたことを考えると、全ては自分の勘違いの可能性が...ちなみに感想戦で採用した現実に即したクエリは以下になります。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事ISUCON8予選に「西アジア代表」として参加してきました月別アーカイブはてなブログをはじめよう!kasariさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。