When creating one changefeed to synchronize 10 million tables, the initialization speed of the dispatcher is extremely slow.
Open
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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