heming
(何明)
2021 年10 月 27 日 08:41
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
tidb v5.1.2
ticdc v5.1.2
【概述】 场景 + 问题概述
主库 执行 alter table tbl_new_userinfo add key (regdate) , 从库 执行这个指令 可能一直没有正常返回 。 实际在下游 多次执行 造成 regdate regdate_2 … regdate_21 等大量索引。
【备份和数据迁移策略逻辑】
【背景】 做过哪些操作
【现象】 业务和数据库现象
“code”: “CDC:ErrTableListenReplicated”,
“message”: “[CDC:ErrTableListenReplicated]A table(13030) is being replicated by at least two processors(f2c7fb00-f392-44f6-ab10-4a67a0cfc3aa, f538fd36-5b45-40d6-894b-f63a53a4beb3), please report a bug”
【问题】 当前遇到的问题
主库 执行 alter table tbl_new_userinfo add key (regdate) , 从库 执行这个指令 可能一直没有正常返回 。 实际在下游 多次执行 造成 regdate regdate_2 … regdate_21 等大量索引。
【业务影响】
【TiDB 版本】
5.1.2
【附件】
相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/ )
TiUP Cluster Display 信息
TiUP CLuster Edit config 信息
TiDB-Overview 监控
对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
对应模块日志(包含问题前后 1 小时日志)
若提问为性能优化、故障排查 类问题,请下载脚本 运行。终端输出的打印结果,请务必全选 并复制粘贴上传。
2 个赞
麻烦确认一下 TiCDC 当前的 changefeed 是否存在两个 task 任务做相同的任务的情况,日志报错是 f2c7fb00-f392-44f6-ab10-4a67a0cfc3aa, f538fd36-5b45-40d6-894b-f63a53a4beb3 这两个 changefeed task 出现的问题。
2 个赞
heming
(何明)
2021 年10 月 27 日 08:53
3
这两个task 跑了很长时间了没有问题呀
[root@yz-mbg-017012 cdc]# cdc cli changefeed list --pd=http://xx.xx.17.212:2479
[
{
“id”: “cbd-user-behavior-analysis-task”,
“summary”: {
“state”: “normal”,
“tso”: 428689539846373444,
“checkpoint”: “2021-10-27 15:46:55.454”,
“error”: null
}
},
{
“id”: “cbd-user-behavior-analysis-task-ht”,
“summary”: {
“state”: “normal”,
“tso”: 428689539846373444,
“checkpoint”: “2021-10-27 15:46:55.454”,
“error”: null
}
}
]
2 个赞
heming
(何明)
2021 年10 月 27 日 09:08
4
主库 执行 alter table tbl_new_userinfo add key (regdate) , 从库 执行这个指令 可能一直没有正常返回 。 实际在下游 多次执行 造成 regdate regdate_2 … regdate_21 等大量索引。
跟这个 加索引有关联 。
| JOB_ID | DB_NAME | TABLE_NAME | JOB_TYPE | SCHEMA_STATE | SCHEMA_ID | TABLE_ID | ROW_COUNT | START_TIME | END_TIME | STATE |
±-------±---------------------------±----------------------------±------------------------------±-------------±----------±---------±----------±--------------------±--------------------±-------+
| 28796 | cbd_user_behavior_analysis | tbl_new_userinfo | add index | public | 2135 | 5455 | 4898821 | 2021-10-27 15:45:25 | 2021-10-27 15:46:55 | synced |
2 个赞
heming
(何明)
2021 年10 月 27 日 10:09
6
我把 这个表通过停掉了 ,跳过一段时间 之后再加回去正常了 。
现在ticdc 没有owner 全部都是 worker
重启了原来的owner 17.58 现在 owner选到 17.217 。
2 个赞
heming
(何明)
2021 年11 月 2 日 02:31
8
修改task任务 临时跳过这个表了, 之后补了一部分数据 ,否则的话 这么长时间 ticdc 依赖的GC早就过期了 ,之前的同步环境就完全破坏了, 重建两套下游集群数据 就要老命了。
1 个赞
小王同学Plus
(小王同学 Plus)
2021 年11 月 2 日 08:05
9
想确认下,这两个 change feed 的创建配置或者是创建命令还存在么?是否两个 changefeed 中存在同一个表?
1 个赞
Meditator
(Wendywong020)
2021 年11 月 2 日 09:10
10
话又说回来,两个changefeed,都还有某个相同库表,会怎样?
1 个赞
heming
(何明)
2021 年11 月 2 日 09:50
11
两个changefeed 对应 两个不同的下游tidb , 同步的都是相同的库表 , 一直都正常的呀 ,就是上次创建索引的时候 没有加 索引名称 。出现这个bug 应该是
主库 执行 alter table tbl_new_userinfo add key (regdate) , 从库 执行这个指令 可能一直没有正常返回 。 实际在下游 多次执行 造成 regdate regdate_2 … regdate_21 等大量索引。
1 个赞
Meditator
(Wendywong020)
2021 年11 月 2 日 11:31
12
你这里的上游是只mysql还是tidb? 如果是tidb,执行这个语句alter table tbl_new_userinfo add key (regdate) 实际上创建了N多索引?
1 个赞
小王同学Plus
(小王同学 Plus)
2021 年11 月 2 日 13:37
13
1 个赞
Meditator
(Wendywong020)
2021 年11 月 3 日 01:01
14
还有不写索引名字的?!
论操作规范的重要性,主键名字一定要PK前缀,唯一键名字要UK前缀,普通的(联合)索引名也要写上去。
heming
(何明)
2021 年11 月 3 日 01:04
15
上游是tidb 执行 没有问题只建了一个正确的索引 。 当时就是想测试一下 不加索引名称有没有问题 , 我看主库执行正常 ,就没cancel 。 没想到下游两个都执行异常 ,重复建了大量的索引 。
system
(system)
关闭
2022 年10 月 31 日 19:03
16
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。