pingcap / pingcap/ticdc

gc safepoint is 0 after start the ticdc cluster

Open
#2,313 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

What did you do?

start the ticdc cluster

What did you expect to see?

the gc safepoint should not be 0

What did you see instead?
[2025/09/24 03:25:27.030 +00:00] [INFO] [version.go:47] ["Welcome to Change Data Capture (CDC)"] [release-version=v9.0.0-beta.2.pre-197-g27e1fde6] [git-hash=27e1fde68fb5341ffa300ceccd1d18f88323751e] [git-branch=master] [utc-build-time="2025-09-24 03:22:16"] [go-version="go version go1.24.6 linux/amd64"] [failpoint-build=false] [kernel-type=Classic]
[2025/09/24 03:25:59.190 +00:00] [INFO] [persist_storage.go:175] ["GetGCState success"] [keyspaceID=0] [gcState=0]
[2025/09/24 03:25:59.195 +00:00] [INFO] [persist_storage.go:235] ["schema store initialize from kv storage begin"] [snapTs=0]
[2025/09/24 03:26:00.291 +00:00] [INFO] [subscription_client.go:357] ["subscribes span done"] [subscriptionID=1] [startTs=0]
[2025/09/24 03:26:00.291 +00:00] [INFO] [subscription_client.go:357] ["subscribes span done"] [subscriptionID=2] [startTs=0]
Versions of the cluster

Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):

(paste TiDB cluster version here)

Upstream TiKV version (execute tikv-server --version):

(paste TiKV version here)

TiCDC version (execute cdc version):

(paste TiCDC version here)

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 reviewing the startup path around persist_storage.go, especially the GetGCState and schema-store initialization logs, then trace how subscription_client.go handles the reported startTs=0. Reproduce the issue with the TiDB, TiKV, and TiCDC versions filled in, and confirm that a newly started cluster obtains a nonzero GC safepoint.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
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.