When running tiup mirror show, it shows version 6.1.2. The version of tiup is 1.11.0, which comes with version 6.1.2. When trying to start the Prometheus component of v5 and v4 clusters, it fails. However, after setting tiup mirror set v5.3.3, starting the Prometheus component of v5 and v4 clusters succeeds. Previously, it was believed that tiup starting and stopping components should not be coupled with the mirror set or the cluster version. But after version 6.1, this logic seems to have changed. I am not sure what the purpose of this design change is.
During reload, tiup will by default check the config. Due to some historical reasons, check config will check version numbers and other related information in the mirror. If the corresponding version is not found in the mirror, an error will be reported.
However, it’s just restarting one node, why is there a need for version compatibility verification? Based on actual usage, there wasn’t such verification before. Why was this verification added in version 6.1?
I think this is a phenomenon. Restarting the Prometheus component of the TiDB 4.0.x cluster using the 5.3.3 mirror does not report an error, but restarting the Prometheus component of the TiDB 4.0.x cluster using the 6.1.2 mirror does report an error. This indicates that this mechanism has changed after version 6.1.
The logic of tiup reload should check the version and configuration. This is very reasonable.
For example:
If I patch a TiDB server node, and during reload, it finds that the version is different from my management version, it will directly overwrite it. Unless you used --overwrite when patching .
Additionally, if you manually modify a node’s toml file, the reload will also revert the configuration of that node.
So, it is very reasonable to validate the version and configuration during reload.
The logic of tiup reload should check the version and configuration. This is very reasonable. If it is for installation, deployment, upgrade, or patching, I think this is very reasonable. However, if it is just to restart one node and also do the configuration, is it really necessary?