mydb
1
【 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去写数据。谢谢
【附件】
-
抓取的 goroutine 请见附件
goroutine.log.20220603_3 (189.7 KB)
-
修改 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, 可能是下游不通了
mydb
3
drainer_stderr.log里,出问题时刻没日志,下游是通的
drainer 有开启黑白名单吗?这个版本有个可能相关的问题是如果所有表都被过滤,且上游持续有写入的情况下 checkpoint 可能会更新不及时
https://github.com/pingcap/tidb-binlog/pull/1069
1 个赞
mydb
7
开启黑白名单了,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”
谢谢
mydb
8
出问题期间,是这样抓取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报警开始变多,几乎一两天内就会报一次。
Aric
(Jansu Dev)
10
这个问题的原因应该是 lichunzhu-PingCAP 老师说那个 Fix;
1 个赞
mydb
12
多谢老师答复。目前集群同步已经从
TiDB 4.0.9 ---- drainer(4.0.9) ----> TiDB 5.1.4
升级到
TiDB 5.1.4 ---- drainer(5.1.4) ----> TiDB 5.1.4
我们继续观察这个问题,如果有结果,我再反馈,多谢
system
(system)
关闭
13
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。