From 4a488ece497fa37270e20b66247aef0ec0f1e752 Mon Sep 17 00:00:00 2001 From: Lynn Date: Wed, 16 Aug 2023 17:44:08 +0800 Subject: [PATCH] ddl, session: using table ID instead of partition ID when calling SplitRegions --- ddl/split_region.go | 8 ++++---- session/session.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ddl/split_region.go b/ddl/split_region.go index 8f60ff3ac68e3..ccadc3e601c4e 100644 --- a/ddl/split_region.go +++ b/ddl/split_region.go @@ -42,7 +42,7 @@ func splitPartitionTableRegion(ctx sessionctx.Context, store kv.SplittableStore, } } else { for _, def := range parts { - regionIDs = append(regionIDs, SplitRecordRegion(ctxWithTimeout, store, def.ID, scatter)) + regionIDs = append(regionIDs, SplitRecordRegion(ctxWithTimeout, store, def.ID, tbInfo.ID, scatter)) } } if scatter { @@ -58,7 +58,7 @@ func splitTableRegion(ctx sessionctx.Context, store kv.SplittableStore, tbInfo * if shardingBits(tbInfo) > 0 && tbInfo.PreSplitRegions > 0 { regionIDs = preSplitPhysicalTableByShardRowID(ctxWithTimeout, store, tbInfo, tbInfo.ID, scatter) } else { - regionIDs = append(regionIDs, SplitRecordRegion(ctxWithTimeout, store, tbInfo.ID, scatter)) + regionIDs = append(regionIDs, SplitRecordRegion(ctxWithTimeout, store, tbInfo.ID, tbInfo.ID, scatter)) } if scatter { WaitScatterRegionFinish(ctxWithTimeout, store, regionIDs...) @@ -118,8 +118,8 @@ func preSplitPhysicalTableByShardRowID(ctx context.Context, store kv.SplittableS } // SplitRecordRegion is to split region in store by table prefix. -func SplitRecordRegion(ctx context.Context, store kv.SplittableStore, tableID int64, scatter bool) uint64 { - tableStartKey := tablecodec.GenTablePrefix(tableID) +func SplitRecordRegion(ctx context.Context, store kv.SplittableStore, physicalTableID, tableID int64, scatter bool) uint64 { + tableStartKey := tablecodec.GenTablePrefix(physicalTableID) regionIDs, err := store.SplitRegions(ctx, [][]byte{tableStartKey}, scatter, &tableID) if err != nil { // It will be automatically split by TiKV later. diff --git a/session/session.go b/session/session.go index f6c5adf5d7ca0..81b864f038fa7 100644 --- a/session/session.go +++ b/session/session.go @@ -3148,7 +3148,7 @@ func splitAndScatterTable(store kv.Storage, tableIDs []int64) { ctxWithTimeout, cancel := context.WithTimeout(context.Background(), variable.DefWaitSplitRegionTimeout*time.Second) var regionIDs []uint64 for _, id := range tableIDs { - regionIDs = append(regionIDs, ddl.SplitRecordRegion(ctxWithTimeout, s, id, variable.DefTiDBScatterRegion)) + regionIDs = append(regionIDs, ddl.SplitRecordRegion(ctxWithTimeout, s, id, id, variable.DefTiDBScatterRegion)) } if variable.DefTiDBScatterRegion { ddl.WaitScatterRegionFinish(ctxWithTimeout, s, regionIDs...)