TiDB4.0版本restart drainer导致TiDB集群服务不可用

【 TiDB 使用环境】生产环境
【 TiDB 版本】4.0.10
【复现路径】做过哪些操作出现的问题
修改/home/tidb/.tiup/storage/cluster/clusters/**********/meta.yaml这个文件里面的initial-commit-ts这个值之后,执行tiup cluster restart tidb-name --node ********:8249这个重启命令,导致整个tidb集群不可用,业务报错。
【遇到的问题:问题现象及影响】


执行完tiup cluster restart tidb-name --node ********:8249这个命令后,出现了Cluster will be unavailable这个提示,想问下为什么restart指定节点会出现集群不可用的提示。之前我也经常会restart某个节点都很正常,集群都可用,这次不知道为什么会造成集群不可用,想请教一下各位老师,谢谢!
【资源配置】
【附件:截图/日志/监控】

你是meta文件改出问题了吧?你tiup cluster display cluster clustername看一下是不是报一样的错

没有问题,重启之后集群都正常。就是重启的过程中,业务不可用。

参考这个配置下。重新配置时需要清空下游 checkpoint 信息以及已导入的数据,避免出现主键冲突的情况。

https://github.com/pingcap/docs-cn/blob/release-4.0/config-templates/complex-tidb-binlog.yaml#L116-L130

集群下游数据没有进行重做,下游的checkpoint表里有记录之前的ts值,官网上说了会优先去读取那个值的。

不推荐手动 vi meta 文件,使用 edit-config 语法去操作,会有格式等检查。

改完后的文件方便发吗?

就是把initial-commit-ts这个值改了一下。我想问一下 如果这个文件改的有问题,会导致集群不可用吗?但是重启之后集群都是正常的。为什么restart命令执行完就会有集群不可用的提示,这点不明白。

嗯嗯,以后不会去改了。现在就是想知道为什么集群会不可用,所以才请教大家。不然后面再操作都不放心。

现在是什么状态?集群可用吗?还是只是出现了那个报错(提示),没影响使用?

drainer节点restart的过程中集群不可用。时间大概3分钟。重启成功之后,集群完全正常,都可用。现在的疑问点就是为什么restart drainer 的这个操作会报Cluster will be unavailable这个提示,造成restart的过程中集群不可用。因为之前也restart过其他节点多次,都没有影响到集群的可用性。

没有手动 vi meta 文件,只要重启drainer集群就不可用吗?
不可用的时候,客户端报的什么错?
有没有相关的日志?