pingcap / pingcap/ticdc

Dispatcher may receive duplicate event from event collector

Open
#1,901 0 comments 1 reaction 1 assignee View on GitHub

@lidezhu is already working on this.

Since Sep 3, 2025.

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

Description

What did you do?

Event collector may reset dispatcher when it detects event loss and the resetTs is hard to determine.
Because multiple transactions may have the same commitTs, after we receive a event at commitTs1, it is hard to know whether there will be more events at the same commitTs1. So we cannot use a resetTs larger or equal to commitTs1, and this cause duplicate events.

What's more, after we support big transaction split, this problem will become worse.

What did you expect to see?

No response

What did you see instead?

Nan

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.