线上环境多次遇到tiflash server timeout问题

【TiDB 使用环境】生产环境
【TiDB 版本】4.0.13
做了什么操作:该集群已经稳定运行了近两年,近一个月除了调整过tiflash内存,再无任何运维操作。

最近一个多月,业务反馈有个表通过tiflash读取会报【tiflash server timeout】,查询SQL如下

select  * from db.table where (request_time >= '2025-03-24' and request_time  < DATE_ADD('2025-03-24', INTERVAL 1 DAY));));

这个结果集大概300w,表总大小大概7000万,经过测试如果把这个结果集缩到10000以内就能从tiflash查出结果(10000以上没试过)。
业务反馈,昨天的这个查询没问题,今天0点开始有问题。

该集群总共有38张表配置了tiflash,目前就这个表有这个问题(这个表也不是最大的),而且这个问题这次已经发生第二次了,上次发生在半个月前,上次采取的解决方案是在tiflash重建表,待重建完了业务的这类查询就恢复正常了。

查看了该时间段的tiflash日志没发现error级别的日志,监控上也没有明显异常的项。

现在想定位一下这个问题的诱因,以及是否有规避方案。

本次也是通过重建表后,业务的这类查询恢复正常。

mysql> ALTER TABLE db.table SET TIFLASH REPLICA 0;
Query OK, 0 rows affected (0.59 sec)

mysql> select sleep(1800);ALTER TABLE db.table SET TIFLASH REPLICA 2;

升级版本应该是一个好的选择,但是如果很稳定,估计不会升了

这个版本很古老了… 那个时候 tiflash 还不是那么稳

1 个赞

看你的描述。。。感觉是 tiflash 有 mvcc 累积没有 compact 导致 。。。。

:thinking:select * 不应该走tiflash吧

这个有解吗,能不能有什么操作可以规避一下呢

感觉可以升级看看?版本太低了,官网文档都归档了。

1 个赞

调整过tiflash内存,是加了内存还是减少了内存,后续是否根据内存同步优化配置过?
还原一下看是否还会有问题。

优化下资源呢

好老的版本了,有机会升级一下吧

你环境中设置的tiflash副本数为2,遇到错误,有没有试过调整为1个副本,然后再测试下呢?

4.0已经EOL了,这就是个bug,原则上也没人来修了。
早点升级才是正道。