Tidb4.0.11 cdc部分任务hang住不推进

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
v4.0.11

【概述】 场景 + 问题概述
cdc下有多个任务,其中有2个任务hang住,其他正常。这两个任务同属于一个源数据库
【备份和数据迁移策略逻辑】

【背景】 做过哪些操作
未操作
【现象】 业务和数据库现象
同步任务不推进,重启之后才正常
【问题】 当前遇到的问题
日志error有当时cdc节点oom切换的情况,其他error无。warn日志如下


报警告表找不到,但是确实也没这个表

【业务影响】

【TiDB 版本】

【附件】

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

2 个赞

ticdc 的日志,最好提供全一下(需要通过 cdc 日志或 tidb 日志,找到 41515 的 tableid 所对应的 表是啥(想看看这个表是不是以前存在过,但现在被 drop 了)— 我们这边可能需要尽量多的信息,来确认问题发生场景

1 个赞

cdc-2022-01-20T13-19-12.592.log.zip (8.0 MB)
您好,2022-01-20 09:59左右开始的日志,请帮忙看下

1 个赞

看了一下 cdc 日志,没有相关信息,能帮提供一下 admin show ddl jobs 100 的信息吗

2 个赞

@wakaka 现在 cdc 同步了没有

1 个赞

https://github.com/pingcap/ticdc/issues/2603,这个在 v5.1.2 进行了修复

2 个赞


那个时间段并没有ddl

2 个赞

重启了任务恢复了,咱们这块延迟的监控通过 哪个metric指标可以取到

2 个赞

1、不是看对应时间段有没有执行过 ddl,而是 看这个表最近有没有执行过
2、延迟:看chanagefeed 下的监控指标,(不过没有直观的延迟指标)以后会有

2 个赞


这个库最近是这些DDL,但是没发现时间对的上的和报错里面table_id为41515和41518的

1 个赞

admin show ddl jobs 100 看看呢,得需要找到。这个id 的操作记录才能确认


好早的视图了

1 个赞

已经反馈,我们先确定一下影响版本(这个应该是 视图兼容性问题)

@wakaka。不好意思,能提供一下 创建 view 的 ddl 及 对应 基础表的 schema 吗

1 个赞

不好意思,前两天请假了。DDL如下:
1、/* ApplicationName=DataGrip 2021.1 */ CREATE VIEW tPart
(base_id, part_code, part_name, vppd, partOwner, partDept, tpm_user_id, major_code,
sup_code, sup_name)
AS
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_bir
UNION ALL
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_brp
UNION ALL
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_fir
UNION ALL
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_pcr
UNION ALL
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_pir
UNION ALL
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_sir
UNION ALL
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_tir_con
UNION ALL
SELECT base_id,
part_code,
part_name,
vppd,
dre_user_id AS partOwner,
duty_dept_id AS partDept,
tpm_user_id,
major_code,
sup_code,
sup_name
FROM db1.problem_part_info_tir_veh

2、/* ApplicationName=DataGrip 2021.1 */ CREATE VIEW tCar (base_id, car_vin, car_mileage) AS
SELECT base_id, car_vin, car_mileage
FROM db1.problem_car_info_bir
UNION ALL
SELECT base_id, car_vin, car_mileage
FROM db1.problem_car_info_brp
UNION ALL
SELECT base_id, car_vin, trouble_mileage AS car_mileage
FROM db1.problem_car_info_fir
UNION ALL
SELECT base_id, car_vin, car_mileage
FROM db1.problem_car_info_pcr
UNION ALL
SELECT base_id, car_vin, car_mileage
FROM db1.problem_car_info_pir
UNION ALL
SELECT base_id, car_vin, car_mileage
FROM db1.problem_car_info_sir
UNION ALL
SELECT base_id, car_vin, car_mileage
FROM db1.problem_car_info_tir_veh

基础表就是普通的表和字段类型。

1 个赞

好的,收到,感谢

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