6.1.7升级7.5.0 后 cdc changefeed 创建失败

【 TiDB 使用环境】
测试环境
【 TiDB 版本】
6.17 → 7.5.0
【复现路径】
tiup cdc cli changefeed create --server http://192.168.1.235:8300 --sink-uri=“kafka://192.168.1.250:32201,192.168.1.250:32202,192.168.1.250:32203/cdc_member_preprod?protocol=canal-json&kafka-version=2.5.0&partition-num=6&max-message-bytes=10485760&replication-factor=1” --changefeed-id=“preprod-member-001” --config=changefeed-preprod-member.toml
【遇到的问题:问题现象及影响】
tiup is checking updates for component cdc …
Starting component cdc: /root/.tiup/components/cdc/v7.5.0/cdc cli changefeed create --server http://192.168.1.235:8300 --sink-uri=kafka://192.168.1.250:32201,192.168.1.250:32202,192.168.1.250:32203/cdc_member_preprod?protocol=canal-json&kafka-version=2.5.0&partition-num=6&max-message-bytes=10485760&replication-factor=1 --changefeed-id=preprod-member-001 --config=changefeed-preprod-member.toml
Error: [CDC:ErrDispatcherFailed]index not found when verify the table, table: preprod_member.mb_member, index:

【资源配置】
cat changefeed-preprod-member.toml

case-sensitive = true
force-replicate = true

[filter]
rules = [‘preprod_member.mb_member’]

[mounter]
worker-num = 8

[sink]
dispatchers = [
{matcher = [‘preprod_member.mb_'], dispatcher = “rowid”},
{matcher = ['preprod_member.wx_
’], dispatcher = “rowid”}
]
protocol = “canal-json”

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

是不是这个原因

这表有主键的。。。。

force-replicate = true 这个就是开启了 同步没有有效索引的表
你把这个参数删了试试

问题依旧

高版本已经变了写法了,不是6.1的diapatcher了,变为parttion了,你看下
[sink]
dispatchers = [
{matcher = [‘test1.', 'test2.’], topic = “Topic 表达式 1”, partition = “ts” },
{matcher = [‘test3.', 'test4.’], topic = “Topic 表达式 2”, partition = “index-value” },
{matcher = [‘test1.', 'test5.’], topic = “Topic 表达式 3”, partition = “table”},
{matcher = [‘test6.*’], partition = “ts”}
]

改为如下内容:
dispatchers = [
{matcher = [‘preprod_member.mb_'], partition = “index-value”, index-name = “uid”},
{matcher = ['preprod_member.wx_
’], partition = “index-value”, index-name = “id”}
]

错误:
Error: component TiCDC changefeed’s config file changefeed-preprod-member.toml contained unknown configuration options: sink.dispatchers.index-name, sink.dispatchers.index-name

目前 partition 设置成默认 table 可以创建成功。
难道是index-value不行?

你这报错unknown configuration options: sink.dispatchers.index-name了,明显不认识你配置的这个

你参考下这个文档:
https://docs.pingcap.com/zh/tidb/v7.1/ticdc-sink-to-kafka#自定义-kafka-sink-的-topic-和-partition-的分发规则

tks

如果你已经解决了,可以把最终解决方法发出来,再选个最佳答案,将帖子标记为已解决

表缺少合适 的索引

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

看起来是个兼容性的 bug,在这个 issue 追踪:https://github.com/pingcap/tiflow/issues/10707

2 个赞