2025年11月18日のCloudflareの障害
実際には、設計上panicが起き得ないのであれば使って良い
Cloudflareの場合は設計上起き得た ということですが…
Cloudflareの障害、原因の一つはRust コード中の unwrap()がpanicを起こして、FL2側が 5xx を返したことらしい
Cloudflare outage on November 18, 2025
なんでプロダクションコードにunwrapがあんだよ
教えはどうなってんだ教えは
ネタを投げっぱなしにすると勘違いされそうなので解説。
別にrustのunwrapは必ずしも「使ってはいけないもの」ではないです。今回の場合、パフォーマンス最適化のために前提を置き、もし想定外ならpanicするのは合理的な実装だと思います。
今回の場合、パフォーマンス上の理由だけでなく「不正なデータを受け取った時にどうすべきか」という話でもある。必要なデータが不正だったなら、出来ることは(ログなどを吐いた後に)止まることしかない。
もし別の言語で実装していたとしても、同様の問題は起きていたか、あるいは別の形で問題になっていたと思います。パフォーマンスの劣化や、みんな大好きバッファオーバーランとか。
最後にちゃぶ台返しをしますが、unwrapではなくexpectを使え