TiCDC日志中增加记录-- 同步范围和没有正常同步的表信息

需求反馈
请清晰准确地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】
在测试或运维过程中,建新表没有创建有效索引,导致表没有纳入同步范围。

【期望的需求行为】
在CDC日志中增加提示,方便运维监控排查问题。
每次同步任务启动,日志刷新提示:
先显示期望同步范围的schema、表等信息;再显示已正常同步的表信息;最后显示由于各种原因没有正常同步的表、库信息。

【需求可替代方案】
CDC日志信息显示更全面一点。

【背景信息】
1.方便运维人员监控CDC同步情况;
2.定期显示同步状态统计;
3.提示没有有效索引则不能同步的表信息,方便不熟悉TiCDC同步规则人员排查问题。

能否细化一下需求?是否 已经开启了 force-replicate 导致没有相关 error 报错?

没有开启force-replicate。

本质就是:

  • 在忘了配置相关参数的情况下,日志要有提示:哪些库、表纳入同步范围,当前已同步表信息,没有同步的表信息。(准备干什么,已经干了什么,哪些由于特殊情况没干)
  • 可参考OGG日志显示方式。
  • 人会疏忽、会犯错,全面的日志显示方便排查问题,便于日常维护。

ticdc 的应用场景就是同步具有有效索引的表,对于没有有效索引的表,不保证数据一致性。https://docs.pingcap.com/zh/tidb/stable/ticdc-manage-changefeed/#同步没有有效索引的表

CDC 日志中确实包含了相关信息,但由于每个 changefeed 可能涉及大量表,所以这些信息是以增量的形式存在 log 中,如果将所有表信息都集中在一条日志中显示,可能会导致日志内容过于冗长,反而降低可读性和实用性。后续我们会考虑如何用其他方式方便的展示每个 changefeed 中同步了哪些表。创建了一个 issue 跟踪这个问题:https://github.com/pingcap/ticdc/issues/1130
后续有什么具体的建议欢迎 comment 在 issue 中。

1 个赞