From b774a1f31e90f7180835e39020d655ef4195f296 Mon Sep 17 00:00:00 2001 From: Ti Chi Robot Date: Mon, 10 Jul 2023 11:06:41 +0800 Subject: [PATCH] ddl/ingest: fix checkpoint resume when owner changes several times (#44760) (#44859) close pingcap/tidb#44619 --- ddl/index.go | 1 + ddl/ingest/checkpoint.go | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ddl/index.go b/ddl/index.go index ebd9654e5b6b6..aa8327b0aeac4 100644 --- a/ddl/index.go +++ b/ddl/index.go @@ -1849,6 +1849,7 @@ func (w *worker) addTableIndex(t table.Table, reorgInfo *reorgInfo) error { if err != nil { break } + finish, err = updateReorgInfo(w.sessPool, tbl, reorgInfo) if err != nil { return errors.Trace(err) diff --git a/ddl/ingest/checkpoint.go b/ddl/ingest/checkpoint.go index e2e4236f59976..8c91e16a573a3 100644 --- a/ddl/ingest/checkpoint.go +++ b/ddl/ingest/checkpoint.go @@ -299,13 +299,13 @@ func (s *CheckpointManager) resumeCheckpoint() error { if cp := reorgMeta.Checkpoint; cp != nil { s.minKeySyncGlobal = cp.GlobalSyncKey s.globalCnt = cp.GlobalKeyCount + s.pidGlobal = cp.PhysicalID + s.startGlobal = cp.StartKey + s.endGlobal = cp.EndKey if s.instanceAddr == cp.InstanceAddr || cp.InstanceAddr == "" /* initial state */ { s.localDataIsValid = true s.minKeySyncLocal = cp.LocalSyncKey s.localCnt = cp.LocalKeyCount - s.pidGlobal = cp.PhysicalID - s.startGlobal = cp.StartKey - s.endGlobal = cp.EndKey } logutil.BgLogger().Info("[ddl-ingest] resume checkpoint", zap.Int64("job ID", s.jobID), zap.Int64("index ID", s.indexID),