cdc对于暂停时间超过一天的进程 resume是否有优化

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

【概述】 场景 + 问题概述
cdc 对于暂停超过一天的进程 在resume时 是否有过优化,现在机器内存充足,但是resume貌似没啥反应
【备份和数据迁移策略逻辑】

【背景】 做过哪些操作

【现象】 业务和数据库现象

【问题】 当前遇到的问题

【业务影响】

【TiDB 版本】

【附件】

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

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

观察所有cdc节点日志 也没看到报错

[tidb@czprdtiup ~]$ tiup ctl:v5.0.1 cdc changefeed query --pd=http://10.xx.xx.x:2379 --changefeed-id=cz-mesprd-cdc-newcloud
Starting component ctl: /home/tidb/.tiup/components/ctl/v5.0.1/ctl cdc changefeed query --pd=http://10.xx.xx.xx:2379 --changefeed-id=cz-mesprd-cdc-newcloud
{
“info”: {
“sink-uri”: “tidb://cxxxx:xxxx@172.xxx.xx.xx:4000/?worker-count=16\u0026max-txn-row=5000”,
“opts”: {
“_changefeed_id”: “cz-mesprd-cdc-newcloud”
},
“create-time”: “2021-11-16T23:37:37.939114394+08:00”,
“start-ts”: 429142536422162454,
“target-ts”: 0,
“admin-job-type”: 1,
“sort-engine”: “memory”,
“sort-dir”: “”,
“config”: {
“case-sensitive”: true,
“enable-old-value”: false,
“force-replicate”: false,
“check-gc-safe-point”: true,
“filter”: {
“rules”: [
“mesprd.*”,
“!mesprd.at_inf_sap_bom_data”
],
“ignore-txn-start-ts”: [
428077146838663169
],
“ddl-allow-list”: null
},
“mounter”: {
“worker-num”: 16
},
“sink”: {
“dispatchers”: null,
“protocol”: “default”
},
“cyclic-replication”: {
“enable”: false,
“replica-id”: 0,
“filter-replica-ids”: null,
“id-buckets”: 0,
“sync-ddl”: false
},
“scheduler”: {
“type”: “table-number”,
“polling-time”: -1
}
},
“state”: “normal”,
“history”: [
1637552094876
],
“error”: {
“addr”: “10.xx.xx.xx:8300”,
“code”: “CDC:ErrProcessorUnknown”,
“message”: “[CDC:ErrReachMaxTry]reach maximum try: 8”
},
“sync-point-enabled”: false,
“sync-point-interval”: 600000000000,
“creator-version”: “v5.0.1”
},
“status”: {
“resolved-ts”: 429183813485330448,
“checkpoint-ts”: 429183806001119264,
“admin-job-type”: 1
},
“count”: 0,
“task-status”: []
}

上游 tidb 的 gc safe time 过了吗?

目前还没有 设置的gc 5天

“[CDC:ErrReachMaxTry]reach maximum try: 8”

看这个应该重试过很多次了,下游是投递到 kafak?

下游是TIDB的

从现在的情况来看。5.0.1 的 ticdc 在长时间停滞后 再次拉起时候 会将 GC 时间内的 cdc log 进行全局拉取和统一排序。5.0.1 版本还在 默认使用 mem。在更高的 版本 譬如 5.0.4 版本 默认使用 mem+disk -> unfide .长时间断联后再拉起比现在模式要强很多

验证问题 。将 开启 resume changefeed 的 ticdc 监控完整发出。关注 TiCDC 节点是否存在 重复向 tikv 拉起增量日志。包括 ticdc owner 切换 卡死等情况

快速补救方法

  1. 更新到 5.0.4 版本,提升 ticdc 组件的稳定性 。再重建
  2. 如果不升级 ,需要BR 全量+增量进行恢复还原。再重新建立同步。注意是重新创建同步任务 。不是 resume
1 个赞

可以单独升级cdc吗

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