問題
表に対して、Instant add columnとOnline DDLを順次実行することでクラッシュを引き起こします。
問題トリガーシナリオ
テーブルに対してInstant add columnを実行した直後に、Online DDL操作(例:OPTIMIZE TABLEやALTER TABLE .. ADD PRIMARY KEYなど)を実行すると、コードが適切に処理されない(即時カラム追加が行われない、またはREDUNDANT形式)ため、クラッシュが発生する可能性があります。
問題が発生したカーネルバージョン
TXSQL 8.0 3.1.15.001より前のバージョン。
修正済みカーネルバージョン
TXSQL 8.0 3.1.16.003。
チェック方法
以下のコマンドを参考に、潜在リスクのあるテーブルのスクリーニングを行ってください。
select replace(name, '/', '.') as 'table_schema.table_name' from information_schema.innodb_tables where TOTAL_ROW_VERSIONS!=0 or INSTANT_COLS!=0;
修正方法
2. カーネルバージョンのアップグレード後、破損したテーブルの再構築修復を実施できます。alter table xx engine = innodb;の方法で修復可能です。テーブルロックによる業務影響を避けるため、pt-oscなどのツールを使用し、業務閑散期に修復を行うことを推奨します。