Skip to content
This repository was archived by the owner on Nov 24, 2023. It is now read-only.
This repository was archived by the owner on Nov 24, 2023. It is now read-only.

add async flush checkpoint feature #1206

@lance6716

Description

@lance6716

Description

Is your feature request related to a problem? Please describe:

Checkpoint is used when sync binlog to downstream. There're many cases we could advance checkpoint and among them, a case is upstream sending a binlog heartbeat event.

For heartbeat event, currently we wait execution of all DML before it (DM concurrently sync DML), then save the checkpoint. But that will cause the concurrency drop at waiting time.

Describe the feature you'd like:

For heartbeat event, instead of waiting all working goroutine to clear its DML queue, we could find a way like #605, to smoothly update checkpoint. Note that a checkpoint means all binlog event before it is synced. DM tolerates some event after checkpoint has been synced to downstream by "safe mode".

Score

1800

SIG slack channel

sig-migrate

Mentor

@lance6716

Recommended Skills

How DM sync data

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions