From 748fb237511aa1da7985df6908b16b4eaf45d96c Mon Sep 17 00:00:00 2001 From: hillium Date: Wed, 12 Apr 2023 14:31:13 +0800 Subject: [PATCH] split between tables Signed-off-by: hillium --- br/pkg/restore/split.go | 5 +++++ br/pkg/restore/split_test.go | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/br/pkg/restore/split.go b/br/pkg/restore/split.go index 17e04486587b9..96f1af0fa27e5 100644 --- a/br/pkg/restore/split.go +++ b/br/pkg/restore/split.go @@ -385,6 +385,11 @@ func (rs *RegionSplitter) ScatterRegions(ctx context.Context, newRegions []*spli func getSplitKeys(rewriteRules *RewriteRules, ranges []rtree.Range, regions []*split.RegionInfo, isRawKv bool) map[uint64][][]byte { splitKeyMap := make(map[uint64][][]byte) checkKeys := make([][]byte, 0) + if rewriteRules != nil && len(rewriteRules.NewKeyspace) == 0 { + for _, rule := range rewriteRules.Data { + checkKeys = append(checkKeys, rule.NewKeyPrefix) + } + } for _, rg := range ranges { checkKeys = append(checkKeys, rg.EndKey) } diff --git a/br/pkg/restore/split_test.go b/br/pkg/restore/split_test.go index 1b560a4e1474d..6e64dde1a7b51 100644 --- a/br/pkg/restore/split_test.go +++ b/br/pkg/restore/split_test.go @@ -479,10 +479,12 @@ func initRewriteRules() *restore.RewriteRules { // expected regions after split: // -// [, aay), [aay, bba), [bba, bbf), [bbf, bbh), [bbh, bbj), -// [bbj, cca), [cca, xxe), [xxe, xxz), [xxz, ) +// [aa, aay), [aay, bba), [bba, bbf), [bbf, bbh), [bbh, bbj), +// [bbj, cca), [cca, xx), [xx, xxe), [xxe, xxz), [xxz, ) +// +// Please note that "aa" has been rewritten to "xx", so the "bb" rewrite rule split point won't be included. func validateRegions(regions map[uint64]*split.RegionInfo) bool { - keys := [...]string{"", "aay", "bba", "bbf", "bbh", "bbj", "cca", "xxe", "xxz", ""} + keys := [...]string{"", "aay", "bba", "bbf", "bbh", "bbj", "cca", "xx", "xxe", "xxz", ""} return validateRegionsExt(regions, keys[:], false) }