tiflash无法启动

某张表,不是所有表?

是的,我加第一张表成功了,然后加有问题的表,tiflash就挂了,重启不了,然后我们就重新部署了tiflash,在添加有问题的表又复现了问题。

https://docs.pingcap.com/zh/tidb/stable/sql-statement-admin-check-table-index

难道这个表有不一致?尝试用admin check table table_name看看。不过这个命令挺吃资源的。可能需要找个负载低的时候试试。

我晚上试试 :+1:

https://github.com/pingcap/tiflash/blob/8cb548e65b2dcd7d767cf029cc268630d92c0bc6/dbms/src/Storages/DeltaMerge/DeltaMergeStore_Ingest.cpp#L595

另外报错的位置也是上面这里。
看注释的意思,也是外部文件的问题。
而且这个错误应该会输出table_id.
因为你的截图不全,所以看不到。

可以根据日志中的tableid尝试定位出问题的表:

select * from INFORMATION_SCHEMA.tables where tidb_table_id=《table_id》

有问题的表已经找到了,但是具体问题我这边还是不太明白

看这个代码,大概意思是,我要导入[1,6)的数据。结果你sst文件里面记录的是[2,7)这种感觉。
本来应该能包含住的。
到了这个sst,id范围包不住了。当然这个range是怎么取得,还没理顺。

range:
1111

sst file range:
2222

插眼,最近测试tidb7 出现了比较多不兼容问题。现在有点虚能不能升级,感觉要出事故。 :rofl:

7.1.0版本有这个问题么?


不知道这个问题是不是也是与这个类似

不,这个和分区有关。是个已知的bug。详情和修复进度看下面这两个链接。

https://github.com/pingcap/tidb/issues/45757
https://github.com/pingcap/tidb/issues/45804

1 个赞

我也遇到这个问题了,把7.1.1将为7.1.0 报错消失。可以在测试环境测试一下

你是如何降版本的啊大佬,BR一份重新导入吗


检查了一下好像没有啥异常

我也遇到过类似的问题 tidb6.5.4 在线升级tidb7.1.0后 无法重启Tiflash,但是看display服务状态是正常的 ,继续升级至tidb7.1.1 后一切正常

是那个夯的全部离线的问题,我们这里是因为资源不足

我现在只有2个思路:
1,就是直接按照报错提示的,把对应的参数在tiflash设置一下,跳过这个检查。
2,如果是真的sst文件有重叠,我看了下文档,找到的方法检查一遍的代价非常大。

https://docs.pingcap.com/zh/tidb/stable/tikv-control#打印损坏的-sst-文件信息

需要停掉tikv。

表有问题可以考虑新建表数据迁移进去删除旧表

好的感谢我们按照这个思路试一下

无法判断其他表是否也有问题 :joy:

是加副本的时候tiflash全部离线,然后无法重启吗