タグ

2025年8月28日のブックマーク (1件)

  • MySQLのロック継承が引き起こしたsupremumロックによるDB障害事例 - freee Developers Hub

    こんにちは、DBREの周東(X: @dev_kngnr)です。 DBRE では、freee の全プロダクトが利用するデータストア層の信頼性向上をミッションとしています。その活動の一環としてDB障害の原因の調査や、再発防止策の検討を行っています。この記事では、freee のとあるサービスで実際に起こった DB 障害と、その引き金となった MySQL のロック継承の仕組みについて紹介します。 概要 今回紹介するDB障害では、Aurora MySQL への接続失敗が頻発し、最終的には Web を開くこともできない状態にまで発展しました。原因を調査したところ、ROLLBACK TO SAVEPOINTによって引き起こされるロック継承が予期しないロックを発生させることが判明しました。この挙動とロングトランザクションが組み合わさることによって、たった一行のレコードロックのロールバックが Web サービ

    MySQLのロック継承が引き起こしたsupremumロックによるDB障害事例 - freee Developers Hub
    indication
    indication 2025/08/28
    find_or_create_byの使用を控えるのはなかなかに辛そう。クライアントでのタイムアウト設定ってことはアプリケーションレベルでの話かな