pingcap / pingcap/ticdc

[P4][Logs] Add periodic changefeed-level summaries for distributed state and progress

Open
#4,748 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type/enhancement
Dominant language
Go
Stars
56
Forks
63
Avg merge
2d 20h
Merged PRs (30d)
34

Description

Parent issue: #4691

Intent

Today, changefeed state is scattered across maintainer, dispatcher manager, event collector, and controller logs. That forces operators to stitch together many lines to understand a single changefeed. This task adds periodic changefeed-level summaries so the core state is visible in one place.

Modification points

  • Add periodic summaries that expose the main distributed-state counters for a changefeed.
  • Include counts such as dispatcherCount, tableCount, operatorCount, pendingBlockCount, resetCount, and errorCount.
  • Use the summary path as the default operational view, keeping detailed component logs for anomalies and deeper diagnosis.

Entry points

  • maintainer/maintainer.go:268
  • maintainer/maintainer.go:388
  • maintainer/maintainer.go:404
  • maintainer/maintainer.go:935
  • maintainer/replica/region_count_refresher.go:122
  • coordinator/controller.go:171

Done criteria

  • A single periodic summary provides the main operational picture for a changefeed.
  • Operators no longer need to combine many dispersed logs to answer basic state and progress questions.
  • Detailed component logs remain available for drill-down when the summary indicates a problem.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the listed entry points in maintainer/maintainer.go, maintainer/replica/region_count_refresher.go, and coordinator/controller.go to trace how changefeed state is currently logged and refreshed. Run the relevant existing tests or development checks before changing the logging path. Done means one periodic summary exposes the named counters while detailed component logs remain available for diagnosis.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, distributed-systems, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.