Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.Original topic: tidb 升级条件检查建议

In this post, the upgrade failed tidb 升级到6.5.0 tidb无法启动,'mysql.tidb_ttl_table_status' doesn't exist" - #6,来自 tidb菜鸟一只 - TiDB 的问答社区, and the analysis suggests it might be a DDL issue. Here are a few optimization suggestions:
-
Before performing the actual patch upgrade, the upgrade action itself or the check tool should be able to detect the prerequisites that must be completed for the upgrade. If the prerequisites are not met, the upgrade action should not be executed. (Not sure if the new version of the check tool has covered this)
-
Whether the DDL operation for creating a table during the upgrade is blocked by an existing DDL or if active DDLs are not allowed during the upgrade, or any other problematic situations, the upgrade should not succeed and restart the components.
-
In scenarios where TiDB cannot start, there should be an emergency function to complete some SQL operations. For example, in the scenario mentioned in the post, manually creating a table might solve the issue. If certain variables are changed causing all TiDB instances to fail to start, and the variables are persisted to TiKV, they cannot be modified.