ある時、本番DBで運用の作業を頼まれました。
運用マニュアルを軽く書いてレビューもOK、いざ本番オペレーションへ。
`start transaction;` を実施してからのオペレーションは順調だったが
途中で「中野さん、聞きたい事があるんだけど」と言われ、自分のMacbookを閉じてそちらに向かってしばらく会話。
そのあと席に戻るやいなや、slackのメッセージが。
「中野さん、本番環境でエラーが起こるんだけど。。。」
あれ!?と思い、思い返してみるとトランザクションをrollbackなりして、解放してない。。。
普通にレコードをupdateしてたりしたので
おそらくそれでブラウザの画面上で更新ができなかったと思われる。
ロックを解放したら正常に動くようになった。
参考:
https://qiita.com/RyutaKojima/items/a76f4cd4c94d1989a4a5
反省点:
・start transactionしたら途中で放置しない(呼ばれてもrollbackしてから席を立つ。)
・本番環境の操作をやる時には、予定表に入れるなりして周りに周知する
皆さんも気をつけて下さいね。