tidb重启时tifish启动超时

【 TiDB 使用环境】生产环境
【 TiDB 版本】 v7.1.0
【复现路径】在生产环境做了一个启动停止,结果启动的时候,卡在tiflash启动页面报启动超时
【遇到的问题:问题现象及影响】
进入tifalsh服务器查看日志
[2024/02/25 13:35:49.867 +08:00] [ERROR] [Server.cpp:844] [“Bootstrap failed because sync schema error: DB::Exception: Wrong column name. Cannot find column 109512.90.1 to drop: table name: t_96616, table id: 96616\nWe will sleep for 3 seconds and try again.”] [thread_id=1]
我查看我的生产tidb数据库,没有t_96616这张表,可能是库里被删除了,由此推断可能是由于元数据不一致或者损坏引起的,然后就不知道如何处理了。请各位大神帮帮忙!!!万分感谢
【资源配置】
【附件:截图/日志/监控】

你是重启整个集群吗?我只在v6.5.1上遇到过,单独把tiflash节点再启动一下,还有监控是最后的,你这里应该也没启动完整,登录grafana几个节点监控看下,缺的也要单独启动下。

1 个赞

是的老师,完全符合您说的,最后都没启动完整,grafana,alertmanager,cdc,prometheus也没有启动完整,我当时使用 tiup cluster reload tidb-test --role prometheus 目录单独启动这些节点,都是成功的,但只是display展示绿色成功的,实际上dashboard展示页面还是进入非常慢,过大概几个小时,用户就连接不上tidb数据库了。

集群启动出错了啊。节点上的Schema不一致。

是的是的,请问怎么解决一下呢?

看看能不能蹲个研发🤔。反正不行的话就将 tiflash 副本都删掉,tiflash 缩容 + 扩容 + 加 tiflash 副本。重置下。

2 个赞

感谢老师指点,另外,会不会对我的tikv数据有影响呢? 因为我们tidb数据库里面几十t的数据

正常不会,但是重置过程中 tiflash 不可用,而且补副本也是消耗一定资源的。

1 个赞

你的tiflash是库级别还是表级别的?可以直接把副本删了再启tiflash试试

首先感谢老师您的帮助,我整个tidb只有一个tiflash,并不知道是库级别还是表级别,另外请问老师,我删除tiflash副本,在tiflash服务器上面的哪里有配置副本地址呢?

select * from INFORMATION_SCHEMA.TIFLASH_REPLICA;
把里面的全部置为0
表级别:
alter table tabname set TIFLASH REPLICA 0;
库级别:
ALTER DATABASE db_name SET TIFLASH REPLICA 0;

清空后再启tiflash试试

2 个赞

刚刚回复一楼老师dashboard展示页面进入非常慢是因为,其中两个tikv节点开启了防火墙,所以一直连接不到,就进入非常慢,和本问题没啥关系。

问题已经解决,首先看一下SELECT * FROM INFORMATION_SCHEMA.tables c WHERE c.tidb_table_id=‘96616’; 有没有这一条,然后看一下对应的表,
执行ALTER TABLE ds_qth.gjzf_dw_zz SET TIFLASH REPLICA 0;再重新启动一下tidb,问题解决。感谢各位大佬的帮助和提供的思路。非常感谢