TiFlash异常

【 TiDB 使用环境】测试
【 TiDB 版本】V6.5.4
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
(1)TiFlash在TiDB Dashboard的集群信息显示昨天发生了重启,并且现在处于在线状态,但是TiUP查询集群信息发现没有TiFlash节点;
(2)执行涉及TiFlash的SQL都报如下错误:
SQL错误[1105] [HY000]:[FLASH:Table:SyncError] cannot find schema diff for version: 50088;
(3)TiFlash在TiDB Dashboard的集群信息显示的重启时间前,主要在执行为分区表创建分区的操作。

资源占用情况如何, 资源不足的话, 组件是容易发生自己重启的。

看一下重启前后的grafana–system-info监控

看起来是集群无法正确识别到TiFlash节点,可以尝试重启整个集群并按照下述文档来处理
https://docs.pingcap.com/zh/tidb/stable/troubleshoot-tiflash
实在不行,只能手动下线节点重做TiFlash,参考文档
https://docs.pingcap.com/zh/tidb/stable/scale-tidb-using-tiup#方案二手动缩容-tiflash-节点

1 个赞

直接重启试一下,应该影响很小,比较是ap侧的逻辑

看下日志有什么错误信息,至于tiup display 看不见组件可能tiup原数据出现了问题。你检查一下 ~/.tiup/manifests 看有tiflash的信息是否有误。最快的恢复办法是如楼上说的,下线上线从做。

说错了文件应该是在 ~/.tiup/storage/cluster/clusters/{集群名}/meta.yaml 中。

我建议再尝试重启 TiFlash 节点

没有什么业务,资源还是充足的

重新缩容,然后扩容了

重启下看看,不行再扩缩

最后发现问题了,之前升级的时候漏了TiFlash,所以TiFlash节点还是V6.1.2版本,最后通过缩容V6.1.2版本TiFlash节点,然后扩容V6.5.4版本TiFlash节点,目前TiFlash节点正常。

1 个赞

升级应该是自动升级的。你是怎么排掉不升级tiflash的?

我们是离线升级,不是在线升级的

学到了

6.1到6.5 ,离线升级正常也会升级,你是不是升级中断了?看下prometheus和grafana版本升级了吗?

最后发现问题了,之前升级的时候漏了TiFlash,所以TiFlash节点还是V6.1.2版本,最后通过缩容V6.1.2版本TiFlash节点,然后扩容V6.5.4版本TiFlash节点,目前TiFlash节点正常。

那应该是集群中 tidb 已经升级到了 6.5,但是 tiflash 还停留在 6.1。在遇到自 v6.2.0 引入 DDL 并行执行框架的一些情况下,6.1 的 tiflash 无法处理而引起的报错。

TiDB v6.2.0 引入新的 DDL 并行执行框架,在不同表对象上的 DDL 可以并发执行,解决了之前不同表之间 DDL 相互阻塞的问题。同时在不同表对象的追加索引、列类型变更等场景下支持并行执行,大幅提升执行效率。
https://docs.pingcap.com/zh/tidb/stable/release-6.2.0