主节点checkpoint一直不更新

【 TiDB 使用环境】生产环境
【 TiDB 版本】V4.0.6
根据大佬的帖子做容灾drainer

到了最后一步,checkpoint一直卡在旧的,也按照大佬的配置做了initial-commit-ts,是不是4.0.6对这个参数不生效
drainer_servers:

  • host: 10.18.1.1
    port: 8249
    deploy_dir: /tidbdata/drainer/deploy_dir
    data_dir: /tidbdata/drainer/data_dir
    config:
    initial-commit-ts: 445015622227853318
    syncer.db-type: “tidb”
    syncer.to.host: “10.16.1.1”
    syncer.to.user: “drainer”
    syncer.to.password: “xxx”
    syncer.to.port: 4000

image

drainer日志报什么错吗


这是drainer日志的报错

全是info 有没有error

是的,但是监控里面的checkpoint那个不是现在的时候,是2个月前,而且一直不动,从库的就在动
image

再仔细看下drainer日志 你这个日志明显不正常,确定没有报错吗

是的,日志里面有一行是
[2023/10/19 09:34:17.115 +08:00] [INFO] [syncer.go:257] [“write save point”] [ts=443806523261452290]
但是扩容文件里面配的是
initial-commit-ts: 445015622227853318
上面日志里面的的443806523261452290确实就是8月份的,正常应该读配置文件里面的445015622227853318才对

你看下从库的tidb_binlog库里有张表checkpoint表 里面的checkpoint是多少

你可以试一下吧commitTS 改成你要的tso
::CommitTS:从哪个 commit ts 开始读取 binlog

能指导下怎么修改吗,用什么命令 :rofl:

用navicat打开数据库 打开这张表 只有一行记录,手动更新下截图里的字段值,点击勾号提交

从库改成了"commitTS":445015622227853318
重启从节点,还是"commitTS":445015622227853318

但是主库的监控还是显示8月份的,然后重启了主库的drainer
一查从库,又变成了
“commitTS”:443806672932569089

不应该啊 drainer默认先读 tidb_binlog.checkpoint 表的啊

哈哈,他不读也就算了了,还把目标的ts给刷新成旧的了~尴尬

这个committs我改过很多次一直没问题的