0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PlanetScaleを使っていて焦ったこと

こんにちは、皆さん!データベースを扱うときに「焦った瞬間」ってありませんか?今日は、僕が仕事で使っているPlanetScaleというDBで経験したヒヤリハットを共有します。

PlanetScaleとは?

PlanetScaleは、MySQL互換の分散データベースです。高性能でスケーラブルな点が魅力です。

ある日データ不整合が発生

ある日、データ不整合が発生してしまい、SQLで対応する必要がありました。こんな感じでUPDATE文を書いていたんです。

UPDATE Admin SET name = 'adminName' WHERE id ='clstv1nic000008l43e7r9zaa';

一般的なイレギュラー対応です。

トランザクションをかけて実行し、下記のように無事に実行されたと思いました。

[2024-07-09 00:05:19] 1 row affected in 37 ms

よしOK!と思ってもう一度確認してコミットしたら…。

[2024-07-09 00:07:00] [HY000][1105] target:xxxxxx.-.primary: vttablet: rpc error: code = Aborted desc = transaction 1719844899129891398: ended at 2024-07-08 15:05:40.334 UTC (exceeded timeout: 20s) (CallerID: nf8q2t4ya6l4keiftfrh)

本番だったので焦ってました....

焦った瞬間

焦りました。調べたらトランザクションのエラーだと分かりました。Planetscaleのドキュメントを読んでみると…。

Per-transaction timeout 20s

って書いてあるじゃないですか。ちゃんとドキュメントは読もう、と心に誓った瞬間でした。

まとめ

何事もドキュメントを読むことが大切です。僕のように焦ることがないように、しっかりと準備して使ってくださいね。

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?