【速報】Amazon Aurora MySQL Version3のオンラインDDLの挙動が改善されました!(Aurora MySQL LTS 3.04.2リリース)

メディア統括本部 サービスリライアビリティグループ(SRG)の鬼海 雄太(@fat47)です。
#SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。
本記事では、以前ブログで取り上げた「Aurora MySQL のLTSバージョンである3.04でオンラインDDLを実行すると、実行中はリーダーエンドポイントから該当テーブルが見えなくなる。」
という挙動が解消されたバージョンがリリースされたので、再検証した結果を紹介しています。
 
 

オンラインDDL実行中はリーダーエンドポイントから該当テーブルで見えなくなる挙動


これは以前ブログ記事に書いたAurora MySQL LTSである3.04.1までの挙動となります。
 
詳細は上記のブログをご参照ください。
ざっくり書くと、
OPTIMIZE TABLEや一部ALTER TABLEの実行でオンラインDDLによる処理が実行されると、
そのテーブルは実行が完了するまでリーダーエンドポイント(リーダーインスタンス)からそのテーブルが見えなくなる
という困った挙動でした。
 
この挙動はAurora MySQL 3.05のリリースで解消されていましたが、3.05の標準サポート期間は2025年1月までというところがネックになっていました。
LTSである3.04の標準サポート期間は2026年10月までとなっているので、できればこちらを選択したいです。

LTSの最新マイナーバージョン3.04.2のリリース


そんなサポート期間の長いLTSにて最新の3.04.2が3/15(金)にリリースされていることに気が付きました。
 
リリースノートは本日3/18(月)にでていました。
 
いろいろな修正点がありますが、特に注目するべきところは下記の部分です。
Fixed an issue where the reader DB instance is unable to open a table, with . This issue occurs when running certain types of online Data Definition Language (DDL) statements while the algorithm is being used on the writer DB instance.
 
が発生し、リーダーDBインスタンスがテーブルを開けない問題を修正しました。この問題は、ライターDBインスタンスでアルゴリズムが使用されている間に、特定のタイプのオンラインデータ定義言語(DDL)ステートメントを実行すると発生します。
 
前述のオンラインDDLの挙動が改善されているようです!!!
実際に検証環境でオンラインDDL周りの挙動が変わっているかを確認します。
 

オンラインDDLの挙動が解消されているかを確認


以前このブログ記事で検証したときと同じ方法で確認していきます。

3.04.2でAuroraクラスターを作成

ライター1台、リーダー1台でAuroraクラスターを作成します。

検証用テーブルの作成

100万件程度適当にレコードをINSERTする

クラスターエンドポイントのuserテーブルでOPTIMIZEを実行

OPTIMIZE実行中に別ターミナルでリーダーエンドポイントにSELECT実行

問題なく結果が表示されます!
v3.04.1のときはが表示されていました。

ALTER TABLE実行中でも発生しないか確認

ALTER実行中に別ターミナルでリーダーエンドポイントにSELECT実行

を指定したALTER TABLE実行中でもSELECTに問題ありませんでした。

終わりに


待望の修正がAurora MySQLのLTSバージョンでリリースされました!
これで心置きなくAurora MySQL version3にアップグレードを進められそうです!
AWSさん本当にありがとうございます!!!!!
 
SRG では一緒に働く仲間を募集しています。 ご興味ありましたらぜひこちらからご連絡ください。
 
このエントリーをはてなブックマークに追加