ticdc中发送重复数据问题

文档中这样描述:


对于发送重复数据给kafka,不会破坏Resolved Ts约束,用户在kafka消费端进行过滤;请问这里过滤具体是要怎么过滤?

1 个赞

可以根据 ResolvedTs 判断是否要忽略重复消息,这里有代码示例
https://github.com/pingcap/tiflow/blob/master/cmd/kafka-consumer/main.go#L468-L474

多谢多谢

这段代码意思是ticdc会重复发送commitTs小于等于resolvedTs的行,但是不会重复发送commitTs大于resolvedTs的行么?

意思是每发送一个row even或者一批row eventt给kafka就会附带一条resolvedTs信息么?

如果不是的话,那么有没有可能在ticdc发送了resolveTs给kafka之后又发送了几条row event给kafka,然后此时ticdc挂了故障恢复之后,会不会再次发送resolveTs之后已经发送过了row event?

或者就是ticdc已经收到resolveTs的信息,然后要发送resolveTs之前的row event给kafka,但还没发送resolveTs给kafka就挂了,然后故障恢复之后会不会重复发送这几条row event?

可以看看设计文档的相关约束和特殊情况处理
https://github.com/pingcap/tiflow/blob/bd885bb5eeef307aceb27283c662b160f5b2bcbb/docs/design/2020-02-24-ticdc-mq-protocol-cn.md

1 个赞


多谢多谢,明白了:call_me_hand:

2 个赞

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