pingcap / pingcap/ticdc

[P3][Logs] Aggregate repeated ready, reset, and stale-epoch logs across dispatchers

Open
#4,745 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

Many dispatcher logs are semantically identical except for the dispatcher ID. Examples include repeated ready, reset, stale-epoch, and handshake mismatch events. This task aggregates those repeated incident shapes so operators can see the scale of the event without reading a line per dispatcher.

Modification points

  • Group same-shape dispatcher events by changefeed, event type, and semantic reason.
  • Emit summary logs with counts and a small sample of dispatcher IDs instead of one log per dispatcher.
  • Preserve individual dispatcher detail only when the event is unusual or explicitly requested.

Entry points

  • downstreamadapter/eventcollector/dispatcher_stat.go:521
  • downstreamadapter/eventcollector/dispatcher_stat.go:615
  • downstreamadapter/eventcollector/dispatcher_stat.go:681
  • downstreamadapter/eventcollector/dispatcher_stat.go:688

Done criteria

  • Same-shape dispatcher events no longer emit one line per dispatcher by default.
  • Summary logs clearly show the affected dispatcher count and representative samples.
  • Operators can still pivot to individual dispatcher detail when debugging a specific anomaly.

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 downstreamadapter/eventcollector/dispatcher_stat.go at lines 521, 615, 681, and 688 to trace the current ready, reset, stale-epoch, and handshake-mismatch logging paths. Group events by changefeed, event type, and semantic reason, then verify that default logs show counts and representative dispatcher IDs while unusual or explicitly requested events retain individual detail.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
observability-sre
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.