TDSQL-C MySQL 版 Instant drop 后 Instant add column 同名列引发 crash

执行 Instant drop 后执行 Instant add column 同名列引发 crash。

相关产品
TDSQL-C MySQL 版 产品页,含版本规格、价格与购买入口。

一、问题触发场景

执行 Instant drop 后实际列并没有删除,而是重命名为一个隐藏列,如果再执行 Instant add column 添加一个和隐藏列同名的列,会导致元数据错乱,引发 crash。

二、涉及问题的内核版本

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;

五、修复方法

1. 将内核版本升级至 TXSQL 8.0 3.1.16.003,操作方法请参考 升级内核小版本。

2. 升级内核版本后,对已损坏的表进行重建修复,可以通过 alter table xx engine = innodb; 的方法进行修复。为了避免锁表导致的业务影响,建议通过 pt-osc 等工具在业务低峰期进行修复。

赞 (0)
上一篇 4天前
下一篇 4天前