Skip to content

fix unnecessary resolve lock task #4241

@lidezhu

Description

@lidezhu

What did you do?

gcResolveLastRun := func() {
if len(resolveLastRun) > 1024 {
copied := make(map[uint64]time.Time)
now := time.Now()
for regionID, lastRun := range resolveLastRun {
if now.Sub(lastRun) < resolveLockMinInterval {
resolveLastRun[regionID] = lastRun
}
}
resolveLastRun = copied
}
}

Inside gcResolveLastRun, resolveLastRun is always set to an empty map, which causes the resolve lock task throttling mechanism to not work as expected.

What did you expect to see?

No response

What did you see instead?

As described above.

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)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions