- 【TiDB 版本】:4.0
- 【问题描述】:Tidb cdc 配置了单表任务,修改单表,但是kafka没有消费到rowChange事件,并且一直有EventResolve 事件推送。
cdc.log (9.6 MB) cdc_stderr.log (25.0 KB) cdctask.txt (1.9 KB)
cdc.log (9.6 MB) cdc_stderr.log (25.0 KB) cdctask.txt (1.9 KB)
sorry,
辛苦检查下 ticdc 与 kafka 和 tidb 集群的网络情况,
rpc error: code = Unavailable desc = etcdserver: request timed out"}
1:这个问题是cdc任务,pd地址配置错误
2:当修改为正确的地址后,rowchange事件还是没有收到,cdc的log报了一个warn,error日志里没有打印信息
cdc.log (9.7 MB) cdc_stderr.log (28.6 KB)
你好,
上游 tidb 版本为 4.0.0?
ticdc 版本 v4.0.7
当前服务器配置如何? tidb 集群和 ticdc 执行服务器的配置都辛苦简述下
请检查下 pd-server 的状态, 看下是否有重启?
dmesg -T |grep pd-server
[2020/10/26 15:31:19.985 +08:00] [ERROR] [client.go:284] ["[pd] getTS error"] [error="[PD:client:ErrClientGetTSO]rpc error: code = Unknown desc = [PD:tso:ErrGenerateTimestamp]generate timestamp failed, timestamp in memory isn’t initialized"]
[2020/10/26 15:31:21.984 +08:00] [ERROR] [client.go:284] ["[pd] getTS error"] [error="[PD:client:ErrClientGetTSO]rpc error: code = Unknown desc = [PD:tso:ErrGenerateTimestamp]generate timestamp failed, timestamp in memory isn’t initialized"]
感谢专业的反馈
请问,这个是全部内容了吗?
辛苦提供下 ticdc 的 create changefeed 的命令
是的,全部的内容
首先关于只收到部分列值的问题:cdc对于delete 事件的默认行为是 只输出 delete 事件的主键或唯一索引列,如果想输出全部列,请在changefeed 配置文件中添加 enable-old-value=true
关于row event 没有输出的问题:你可以观察一下 收到的resolved event 中的ts 是否有推进,如果没推进的话,证明 cdc 仍然在初始化阶段,这个阶段是不会有 row event 输出的。
我这边是update事件,不是delete,我是改了一个列的值,没有删除
有推进,一直有收到event change事件
resolved event 事件中的 resolvedts 在增长吗
是的,在增长
请问咱们部署监控了吗,方便提供一下没有 row change event 这个时间段的监控吗
时间是唯一索引吗,对于改数据的情况,如果修改的列值是唯一索引,cdc会将这update 事件拆成delete+update 事件(仅有当 enable old value = false 时有这样的行为)
开了old value 后是不会拆的
麻烦执行 cdc cli changefeed list --pd=xx 贴一下结果
这个时间没有任何索引,只是普通列,我目前是是mysql操作的, dm同步,然后cdc在消费,流程是这样的