pingcap / pingcap/ticdc

When creating one changefeed to synchronize 10 million tables, the initialization speed of the dispatcher is extremely slow.

Open
#1,150 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

The specific phenomena are as follows:
It took 2 hours to initialize 950,000 dispatchers.
When checking the log file of cdc, a large number of the following logs were found:

[2025/03/21 06:18:56.215 +00:00] [INFO] [maintainer.go:262] ["maintainer is too slow"] [changefeed=default/test-10m] [eventType=2] [duration=1.126983705s]

TiCDC Version

$ ./cdc version
Release Version: v9.0.0-alpha-171-g4c5151eb
Git Commit Hash: 4c5151eb2faf7fea208aebfd983de5569385976e
Git Branch: master
UTC Build Time: 2025-03-19 00:56:47
Go Version: go1.23.7
Failpoint Build: false

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

Start by examining the maintainer path reported at maintainer.go:262 and the “maintainer is too slow” log during changefeed initialization. Reproduce or profile the 10-million-table scenario described in the issue; done means dispatcher initialization no longer takes hours and the slow-maintainer condition is addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, distributed-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.