tidb 4.0.12
initial-commit-ts
指定从哪个事务提交时间点(事务的 commit ts) 之后开始同步。这个配置仅适用于初次开始同步的 Drainer 节点。
如果下游已经有 checkpoint 存在,则会根据 checkpoint 里记录的时间进行同步。
commit ts(即 commit timestamp)是 TiDB 事务的提交时间点。
该时间点是从 PD 获取的全局唯一递增的时间戳,作为当前事务的唯一 ID。典型的 initial-commit-ts 配置可以通过以下方式获得:
BR 备份的元信息(即 backupmeta)中记录的 backup TS
Dumpling 备份的元信息(即 metadata)中记录的 Pos
PD Control 中 tso 命令返回的结果
默认:-1。Drainer 会从 PD 得到一个最新的 timestamp 作为初始时间。即从当前的时间点开始同步。
drainer_servers:
- host: 10.0.1.12
port: 8249
data_dir: “/tidb-data/drainer-8249”
commit_ts: -1
deploy_dir: “/tidb-deploy/drainer-8249”
config:
结论 : 在没有checkpoint 的情况下 ,才会使用commit_ts. 因此删除checkpoint 可避免重复数据或主键冲突。
问题: 利用drainer 进行同步 ,何时更新checkpoint ? 或者不会更新checkpoint?主备同步状态 怎么检查 ?