TiDB 5副本切换报错

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】 7.5.2
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

TiDB 5副本 3机房
执行切换
MySQL [aa]> ALTER TABLE fr_report_base_data_all PLACEMENT POLICY=secondary_rule_for_region2;
Query OK, 0 rows affected (1.93 sec)

2024-07-12 09:04:49.974 ERROR [PRODUCT][58771] commit queue error while committing: Error 8028: Information schema is changed during the execution of the statement(for example, table definition may be updated by other DDL ran in parallel). If you see this error often, try increasing tidb_max_delta_schema_count. [try again later]

“try increasing tidb_max_delta_schema_count ” 这种建议方案有用吗?

  1. 检查tidb_max_delta_schema_count的值是否足够大,以容纳并发执行的DDL操作。如果这个值太小,您可能需要将其调大。
  2. 确保在进行DDL操作时,没有其他修改表定义的操作在并行执行。如果有必要,可以先提交或回滚其他DDL操作,再尝试执行您的ALTER TABLE语句。

有没有正在执行的ddl呢

可以尝试增加 tidb_max_delta_schema_count 的值。

这种切换,商业版会给一个专门的脚本执行。

和社区通用? 还是商业版专属的

根据错误提示,尝试增加系统变量tidb_max_delta_schema_count的值。这个变量控制了TiDB可以容忍的并发DDL操作的数量。可以通过以下SQL语句修改:
SET GLOBAL tidb_max_delta_schema_count = <new_value>;