drainer 中的配置
drainer 机子的启动脚本
貌似启动脚本中的ts把配置中的ts覆盖了
并且查看同步中的checkpoint 目前的值均比配置中ts小
命令行参数的优先级比配置文件的高,如果想按照配置文件中的 ts 进行同步,就不要在命令行中显式设置了。
我没有设置命令行,我是用tiup进行扩容drainer自动生成的启动脚本,而且只要我用tiup进行启动,这个命令行都会被覆盖成新的。
目前的tidb版本是4.0.12
使用 tiup 部署的话,可以在配置文件中设置下 commit_ts
,参考下面这个配置文件:
https://github.com/pingcap/docs-cn/blob/release-4.0/config-templates/complex-tidb-binlog.yaml
我设置了参数,不然config里也不会有这个ts,现在是这个配置的ts不会生效,只要用tiup启动都会被覆盖成0
麻烦将配置文件中的 init-commit-ts
替换成 commit_ts
再试下
你这边目前还没有开始同步数据吧,如果没有的话建议将旧 drianer 节点卸载掉重新部署下,参考上面使用 tiup 部署时的拓扑文件。
同步过了,我是直接修改的脚本中的值。不过我有时间的时候用你的方式测试一下,不过我觉得这应该是个bug吧
如果使用 tiup 部署,调整参数都统一用 tiup cluster edit-config
方式,否则直接修改进程的配置文件,reload 之后会被覆盖掉,你可以后面再测试下。
我用的就是这种方式,只是我发现他跑的binlog内容不对我才去具体事例上看的,发现的如上问题
目前 gc 设置的时间是多长?如果太短的话,全量同步完成后 commit_ts 超过了 gc save point 点了,这样即使设置了 commit_ts ,drainer 也无法从那个 ts 点继续同步了
修改目标库,tidb_binlog库的checkpoint表,commit_ts修改成指定的tso即可
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。