版本:4.0.13
线上一套tidb集群部署了ticdc后,将任务创建好,总共18个任务,17个任务都能正常将binlog同步到下游kafka,但是有一个任务在kafka没有找到对应的binlog。
排查发现cdc在不断的重启。
1、通过display查看集群状态,cdc的状态一直在down跟up之间切换。
2、分析cdc日志发现,cdc.log一直在刷日志,但是都是info类跟warn类日志,cdc_stderr.log日志一直在刷下面的日志段。
goroutine 2359 [running]:
github.com/pingcap/ticdc/cdc/sink/codec.rowEventToMaxwellMessage(0xc0228f5900, 0x2fa3e80, 0xc020205960)
github.com/pingcap/ticdc@/cdc/sink/codec/maxwell.go:105 +0xfae
github.com/pingcap/ticdc/cdc/sink/codec.(*MaxwellEventBatchEncoder).AppendRowChangedEvent(0xc020205960, 0xc0228f5900, 0x3, 0x2, 0x1)
github.com/pingcap/ticdc@/cdc/sink/codec/maxwell.go:160 +0x2f
github.com/pingcap/ticdc/cdc/sink.(*mqSink).runWorker(0xc020ba0750, 0x2f70da0, 0xc020256800, 0x2, 0x0, 0x0)
github.com/pingcap/ticdc@/cdc/sink/mq.go:351 +0x3c8
github.com/pingcap/ticdc/cdc/sink.(*mqSink).run.func1(0xc013f57768, 0x0)
github.com/pingcap/ticdc@/cdc/sink/mq.go:281 +0x46
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc022794fc0, 0xc020c0b4e0)
golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9/errgroup/errgroup.go:57 +0x64
created by golang.org/x/sync/errgroup.(*Group).Go
golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9/errgroup/errgroup.go:54 +0x66
panic: interface conversion: interface {} is string, not []uint8
goroutine 603 [running]:
github.com/pingcap/ticdc/cdc/sink/codec.rowEventToMaxwellMessage(0xc008f16180, 0x2fa3e80, 0xc000346220)
github.com/pingcap/ticdc@/cdc/sink/codec/maxwell.go:105 +0xfae
github.com/pingcap/ticdc/cdc/sink/codec.(*MaxwellEventBatchEncoder).AppendRowChangedEvent(0xc000346220, 0xc008f16180, 0x3, 0x2, 0x1)
github.com/pingcap/ticdc@/cdc/sink/codec/maxwell.go:160 +0x2f
github.com/pingcap/ticdc/cdc/sink.(*mqSink).runWorker(0xc000e9c360, 0x2f70da0, 0xc0021b6300, 0x2, 0x0, 0x0)
github.com/pingcap/ticdc@/cdc/sink/mq.go:351 +0x3c8
github.com/pingcap/ticdc/cdc/sink.(*mqSink).run.func1(0xc00216cf68, 0x0)
github.com/pingcap/ticdc@/cdc/sink/mq.go:281 +0x46
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc000176660, 0xc00000c220)
golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9/errgroup/errgroup.go:57 +0x64
created by golang.org/x/sync/errgroup.(*Group).Go
golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9/errgroup/errgroup.go:54 +0x66
panic: interface conversion: interface {} is string, not []uint8
这个问题看起来像是个bug,现在只能每几天通过重建cdc任务来解决,想请教一下这个问题的触发条件可能是什么。