ticdc同步到Kafka 导致ticdc反复重启无法停止任务

【TiDB 使用环境 /测试/ Poc
【TiDB 版本】
8.1.2
【操作系统】
CentOS7
【部署方式】云上部署(什么云)/机器部署(什么机器配置、什么硬盘)
【集群数据量】
【集群节点数】
【问题复现路径】ticdc同步到Kafka 导致ticdc反复重启无法停止任务
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
ticdc-log.txt (86.4 KB)
kafka 日志错误截图

【其他附件:截图/日志/监控】

怎么这么多字段数据是null

看起来像是 kafka 配置问题。kafka throwing the error when trying to create the topics. · Issue #33922 · bitnami/containers · GitHub

好多null值

定位到问题了,开发把主键拼错了,


趁着TICDC反复重启在启动成功的一瞬间把任务剔除,TICDC就正常了。但ticdc为啥会反复重启呢,也没个错误异常日志

ticdc 进程在不断重启?

panic 关键字 grep 看看呢。

上面的log就是ticdc 每次重启输出的日志,目前问题定位到了,但疑问的是主键缺失ticdc是不是应该抛出异常暂停任务呢?

ticdc日志显示一直在重启啊

Welcome 关键字我看了下,没有那么多啊,重启关键字是 Welcome 的。

我只是截取了一次重启的日志 每次日志都一样,重新cat了一下日志,查找了一下关键字

cdc_stderr.log 有没有什么内容啊。

goroutine 1007 [running]:
github.com/pingcap/tiflow/pkg/sink/codec/debezium.(*dbzCodec).writeDebeziumFieldValue(0x0?, 0x0?, 0xc000d46850?, 0xc006cc1600?)
github.com/pingcap/tiflow/pkg/sink/codec/debezium/codec.go:260 +0x1d
github.com/pingcap/tiflow/pkg/sink/codec/debezium.(*dbzCodec).writeDebeziumFieldValues.func1()
github.com/pingcap/tiflow/pkg/sink/codec/debezium/codec.go:53 +0xa5
github.com/pingcap/tiflow/pkg/util.(*JSONWriter).WriteObject(0xc0010d8160, 0xc00538b988)
github.com/pingcap/tiflow/pkg/util/json_writer.go:118 +0x16d
github.com/pingcap/tiflow/pkg/util.(*JSONWriter).WriteObjectField(0xc0010d8160, {0x5107392?, 0x6?}, 0x0?)
github.com/pingcap/tiflow/pkg/util/json_writer.go:229 +0x174
github.com/pingcap/tiflow/pkg/sink/codec/debezium.(*dbzCodec).writeDebeziumFieldValues(0xc0030bd5e0?, 0x1c?, {0x5107392?, 0x5d50868?}, {0xc007c590a0?, 0x5d9e6f0?, 0xc00186d278?}, 0x0?)
github.com/pingcap/tiflow/pkg/sink/codec/debezium/codec.go:51 +0xb0
github.com/pingcap/tiflow/pkg/sink/codec/debezium.(*dbzCodec).EncodeRowChangedEvent.func1.1()
github.com/pingcap/tiflow/pkg/sink/codec/debezium/codec.go:588 +0x392
github.com/pingcap/tiflow/pkg/util.(*JSONWriter).WriteObject(0xc0010d8160, 0xc007a0ac00)
github.com/pingcap/tiflow/pkg/util/json_writer.go:118 +0x16d
github.com/pingcap/tiflow/pkg/util.(*JSONWriter).WriteObjectField(0xc0010d8160, {0x510ab60?, 0xc000100000?}, 0xc007de63c0?)
github.com/pingcap/tiflow/pkg/util/json_writer.go:229 +0x174
github.com/pingcap/tiflow/pkg/sink/codec/debezium.(*dbzCodec).EncodeRowChangedEvent.func1()
github.com/pingcap/tiflow/pkg/sink/codec/debezium/codec.go:531 +0xae
github.com/pingcap/tiflow/pkg/util.(*JSONWriter).WriteObject(0xc0010d8160, 0xc007a0ad28)
github.com/pingcap/tiflow/pkg/util/json_writer.go:118 +0x16d
github.com/pingcap/tiflow/pkg/sink/codec/debezium.(*dbzCodec).EncodeRowChangedEvent(0xc0010c2280, 0xc007a5bb00, {0x5d6c2e0?, 0xc007df4360?})
github.com/pingcap/tiflow/pkg/sink/codec/debezium/codec.go:530 +0x192
github.com/pingcap/tiflow/pkg/sink/codec/debezium.(*BatchEncoder).AppendRowChangedEvent(0xc00766f140, {0xc007a0ae6c?, 0xc00761d320?}, {0x0?, 0xc002d6e420?}, 0xc007a5bb00, 0xc0010d8120)
github.com/pingcap/tiflow/pkg/sink/codec/debezium/encoder.go:50 +0x65
github.com/pingcap/tiflow/pkg/sink/codec.(*encoderGroup).runEncoder(0xc0011b7ab0, {0x5db2d90, 0xc0039564b0}, 0x2)
github.com/pingcap/tiflow/pkg/sink/codec/encoder_group.go:149 +0x325
github.com/pingcap/tiflow/pkg/sink/codec.(*encoderGroup).Run.func2()
github.com/pingcap/tiflow/pkg/sink/codec/encoder_group.go:121 +0x26
golang.org/x/sync/errgroup.(*Group).Go.func1()
golang.org/x/sync@v0.7.0/errgroup/errgroup.go:78 +0x56
created by golang.org/x/sync/errgroup.(*Group).Go in goroutine 1002
golang.org/x/sync@v0.7.0/errgroup/errgroup.go:75 +0x96
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x3f8eadd]

嗯 应该是个 bug

感觉是不是关于kafka相关的同步配置有问题啊,一直报这些。

感觉没看到什么有用信息

日志中


感觉像是kafka的问题

任务是跑着跑着有问题了?创建时主键或唯一索引都没问题?

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。