tiflash不同步,日志中报错

根据日志是 tiflash 的某个模块连不上 tidb,麻烦 ssh 到 tiflash 的部署节点上手动执行 curl http://200.100.1.13:10080/tiflash/replica

@solotzg-PingCAP 他上面有 telnet 及 curl 命令

你的怎么是 8124 端口?改成 10080 端口

这个key对应的值是空的 “location_labels”:
[root@localhost conf]# curl http://200.100.1.13:10080/tiflash/replica|more
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11214 0 11214 0 0[ 0 0 --:–:-- 0:00:24 --:–:-- 0
{
“id”: 673137,
454 “replica_count”: 1,
“location_labels”: ,
“available”: false,
“high_priority”: false
},
{
“id”: 673138,
0 “replica_count”: 1,
–: “location_labels”: ,
–: “available”: false,
– “high_priority”: false
},
100 49604 0 49604 0 0 2009 0 --:–:-- 0:00:24 --:–:-- 13541

目前看起来原因是 tidb 的 {status-addr}/tiflash/replica 接口返回需要花费 24s,超过了 tiflash 侧预设的超时时间 5s,最终导致 tiflash 无法获取 replica 信息

找另外的集群对比了下,返回基本是毫秒级的,不知道为什么这么慢,升级到V4.0.14是否可以解决问题?是否和这个有关?

这个看看 其他的 tidb- server 也是耗时这么久吗?或者你本地试一下

其它的tidb也试了,基本上>9S

先检查一下网络情况吧

本地调用也是一样慢
ping响应都是毫秒级的
[root@localhost conf]# ping 200.100.1.13
PING 200.100.1.13 (200.100.1.13) 56(84) bytes of data.
64 bytes from 200.100.1.13: icmp_seq=1 ttl=64 time=0.115 ms
64 bytes from 200.100.1.13: icmp_seq=2 ttl=64 time=0.152 ms
64 bytes from 200.100.1.13: icmp_seq=3 ttl=64 time=0.150 ms
64 bytes from 200.100.1.13: icmp_seq=4 ttl=64 time=0.146 ms

ok ,那我问一下,可能原因

有劳了

curl http://{TiDBIP}:10080/debug/zip?seconds=60 --output debug.zip

帮抓一下这个(抓这个的时候,调用一下上面的 API,确保 调用时抓取这个信息)

先执行
[tidb@167 ~]$ curl http://200.100.1.13:10080/debug/zip?seconds=60 --output debug.zip
马上执行
[tidb@167 ~]$ curl http://200.100.1.13:10080/tiflash/replica>a.txt
debug.zip (1.2 MB)

debug数据已上传,是否满足要求?

先分析一下

还在吗,确认一个信息,能提供一下 admin show ddl jobs; 命令结果吗,你们集群经常执行 DDL 吗?

142033 enjoycrm_datacenter tb_coupon_def truncate table public 45 142032 0 2021-09-27 14:45:52 2021-09-27 14:45:56 synced
142033 enjoycrm_datacenter tb_card_deposit_def truncate table public 45 142032 0 2021-09-27 14:45:52 2021-09-27 14:45:55 synced
142033 enjoycrm_datacenter tb_card_def truncate table public 45 142032 0 2021-09-27 14:45:52 2021-09-27 14:45:53 synced
142032 enjoycrm_datacenter tb_card_deposit_def truncate table public 45 142031 0 2021-09-27 14:42:26 2021-09-27 14:42:39 synced
142032 enjoycrm_datacenter tb_coupon_def truncate table public 45 142031 0 2021-09-27 14:42:26 2021-09-27 14:42:38 synced
142032 enjoycrm_datacenter tb_card_def truncate table public 45 142032 0 2021-09-27 14:42:26 2021-09-27 14:42:37 synced
142032 enjoycrm_datacenter tb_card_def truncate table public 45 142031 0 2021-09-27 14:39:31 2021-09-27 14:39:32 synced
142032 enjoycrm_datacenter tb_card_deposit_def truncate table public 45 142031 0 2021-09-27 14:39:30 2021-09-27 14:39:32 synced

频率大概是三分钟

select * from mysql.tidb; 看下gc 的间隔和 gc safe point 是多少,这个也提供一下