binlog drainer checkpoint tso no change for 5m

【 TiDB 使用环境】生产\测试环境\ POC
生产环境

【 TiDB 版本】
TiDB 通过 drainer 同步数据,从 TiDB 4.0.9 —> TiDB 5.1.4

【遇到的问题】
经常收到报警信息如下
binlog drainer checkpoint tso no change for 5m

【复现路径】做过哪些操作出现的问题
【问题现象及影响】
暂时没发现什么影响。
问题期间,pump是正常产生binlog的,感觉是drainer在出问题的时间段内部卡死了(实际上drainer进程在,进程ID也没变),没有去拉取binlog,因此也没有向下游tidb去写数据。谢谢

【附件】

  1. 抓取的 goroutine 请见附件
    goroutine.log.20220603_3 (189.7 KB)

  2. 修改 drainer 启动脚本,将日志级别改为 debug 模式,但是在出问题时间段里,drainer 日志没打印相关日志,类似如下,相当于日志在出问题时间段中断了
    [2022/05/23 16:33:27.902 +08:00] [INFO] [syncer.go:257] [“write save point”] [ts=433399052550537635]
    [2022/05/23 17:05:00.649 +08:00] [INFO] [syncer.go:257] [“write save point”] [ts=433399052786467043]

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

看下drainer_stderr.log, 可能是下游不通了

drainer_stderr.log里,出问题时刻没日志,下游是通的

  1. 这个是在没有 Drainer Event 时间段抓去的 DEBUG 信息吗?暂时没看出有用的信息

  2. drainer 确实没有从 pump 拉去数据,可以看下这个时间段 PUMP 和 Drainer 之间的网络情况,及 Drainer 所在服务器的磁盘情况;

  3. tidb-binlog 使用的版本是什么?

drainer 有开启黑白名单吗?这个版本有个可能相关的问题是如果所有表都被过滤,且上游持续有写入的情况下 checkpoint 可能会更新不及时
https://github.com/pingcap/tidb-binlog/pull/1069

1 个赞
  1. 这个是在drainer event时间段抓取的debug信息
  2. drainer所在服务器磁盘是充足的,11T磁盘,而且有告警
  3. tidb-binlog版本是5.1.4,即
    tidb 5.1.4 ----drainer(5.1.4)-----> tidb 4.0.9
    谢谢

开启黑白名单了,drainer配置如下
【drainer配置如下】
[syncer]
channel-id = 123456789
db-type = “tidb”
ignore-schemas = “INFORMATION_SCHEMA,METRICS_SCHEMA,PERFORMANCE_SCHEMA,mysql,test,dm_meta”
loopback-control = true
sync-ddl = true
txn-batch = 100
worker-count = 256

[[syncer.ignore-table]]
db-name = “tidb_binlog”
tbl-name = “checkpoint”
谢谢

出问题期间,是这样抓取drainer信息吗?
curl http://xx.xx.xx.xx:8250/debug/pprof/goroutine?debug=2 -o goroutine.log
会不会和版本升级有关系,因为以前4.0.9 —> 4.0.9 ,这种报警信息不频繁,我忘记是否有了,应该有,可能非常少。但是自从下游集群升级到5.1.4之后,drainer报警开始变多,几乎一两天内就会报一次。

是这样抓

这个问题的原因应该是 lichunzhu-PingCAP 老师说那个 Fix;

1 个赞

感谢,明白了

多谢老师答复。目前集群同步已经从
TiDB 4.0.9 ---- drainer(4.0.9) ----> TiDB 5.1.4
升级到
TiDB 5.1.4 ---- drainer(5.1.4) ----> TiDB 5.1.4
我们继续观察这个问题,如果有结果,我再反馈,多谢

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。