Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Buggy sink returning a checkpoint that is too large can cause flow control to dead-lock #3531

Closed
Tracked by #3545
liuzix opened this issue Nov 18, 2021 · 1 comment
Closed
Tracked by #3545
Assignees

Comments

@liuzix
Copy link
Contributor

liuzix commented Nov 18, 2021

What did you do?

When a table pipeline is blocked by flow control when waiting for the global checkpoint to reach a DDL commit-ts, a table moving into the processor where the blocked table pipeline is running can cause dead lock. If the sink is buggy so that it returns a checkpoint that is greater than the argument of FlushRowChangedEvents.

What did you expect to see?

We do not expect a buggy sink. But even if the sink were buggy, we would not expect to see a deadlock problem.

What did you see instead?

The table pipeline is deadlocked. And the DDL is executed prematurely.

Versions of the cluster

TiCDC version (execute cdc version):

f847b331572379527bf37a7f19be20448a74b2c2 on release-5.3

@liuzix liuzix added type/bug The issue is confirmed as a bug. area/ticdc Issues or PRs related to TiCDC. labels Nov 18, 2021
@liuzix liuzix self-assigned this Nov 18, 2021
@overvenus
Copy link
Member

Inaccurate checkpoint bug has been fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants