From 9b80ea488006f43af9c0e13dab6110f8ab9fc987 Mon Sep 17 00:00:00 2001 From: 3pointer Date: Tue, 25 Aug 2020 14:01:41 +0800 Subject: [PATCH 1/3] cherry pick #468 to release-4.0 Signed-off-by: ti-srebot --- pkg/backup/client.go | 3 +++ pkg/task/backup.go | 3 +++ tests/br_incremental_index/run.sh | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/backup/client.go b/pkg/backup/client.go index 052d19e98..9825684d1 100644 --- a/pkg/backup/client.go +++ b/pkg/backup/client.go @@ -984,6 +984,7 @@ func CollectChecksums(backupMeta *kvproto.BackupMeta) ([]Checksum, error) { return checksums, nil } +<<<<<<< HEAD // FilterSchema filter in-place schemas that doesn't have backup files // this is useful during incremental backup, no files in backup means no files to restore @@ -1018,3 +1019,5 @@ func FilterSchema(backupMeta *kvproto.BackupMeta) error { func isRetryableError(err error) bool { return status.Code(err) == codes.Unavailable || status.Code(err) == codes.Canceled } +======= +>>>>>>> 64271cf... test: fix br incremental index not stable (#468) diff --git a/pkg/task/backup.go b/pkg/task/backup.go index 7c9ac7882..f6f5764fd 100644 --- a/pkg/task/backup.go +++ b/pkg/task/backup.go @@ -342,10 +342,13 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig if isIncrementalBackup { // Since we don't support checksum for incremental data, fast checksum should be skipped. log.Info("Skip fast checksum in incremental backup") +<<<<<<< HEAD err = backup.FilterSchema(&backupMeta) if err != nil { return errors.Trace(err) } +======= +>>>>>>> 64271cf... test: fix br incremental index not stable (#468) } else { // When user specified not to calculate checksum, don't calculate checksum. log.Info("Skip fast checksum because user requirement.") diff --git a/tests/br_incremental_index/run.sh b/tests/br_incremental_index/run.sh index f4b4b9de7..9955bf679 100755 --- a/tests/br_incremental_index/run.sh +++ b/tests/br_incremental_index/run.sh @@ -31,7 +31,7 @@ done # full backup echo "backup full start..." -run_sql "CREATE INDEX idx_c1 ON ${DB}.${TABLE}(c1)" & +run_sql "CREATE INDEX idx_c1 ON ${DB}.${TABLE}(c1)" run_br --pd $PD_ADDR backup full -s "local://$TEST_DIR/$DB/full" --ratelimit 5 --concurrency 4 wait # run ddls From 7210bf816da7fc58897d4fdd7dee609bf8df0501 Mon Sep 17 00:00:00 2001 From: 3pointer Date: Fri, 25 Dec 2020 14:46:54 +0800 Subject: [PATCH 2/3] Update backup.go --- pkg/task/backup.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pkg/task/backup.go b/pkg/task/backup.go index f6f5764fd..169580b4b 100644 --- a/pkg/task/backup.go +++ b/pkg/task/backup.go @@ -342,13 +342,6 @@ func RunBackup(c context.Context, g glue.Glue, cmdName string, cfg *BackupConfig if isIncrementalBackup { // Since we don't support checksum for incremental data, fast checksum should be skipped. log.Info("Skip fast checksum in incremental backup") -<<<<<<< HEAD - err = backup.FilterSchema(&backupMeta) - if err != nil { - return errors.Trace(err) - } -======= ->>>>>>> 64271cf... test: fix br incremental index not stable (#468) } else { // When user specified not to calculate checksum, don't calculate checksum. log.Info("Skip fast checksum because user requirement.") From d3d60a4c1ed977394dd007a1f494a4e573cec4c5 Mon Sep 17 00:00:00 2001 From: 3pointer Date: Fri, 25 Dec 2020 14:47:38 +0800 Subject: [PATCH 3/3] Update client.go --- pkg/backup/client.go | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/pkg/backup/client.go b/pkg/backup/client.go index 9825684d1..4a3949a9e 100644 --- a/pkg/backup/client.go +++ b/pkg/backup/client.go @@ -984,40 +984,8 @@ func CollectChecksums(backupMeta *kvproto.BackupMeta) ([]Checksum, error) { return checksums, nil } -<<<<<<< HEAD - -// FilterSchema filter in-place schemas that doesn't have backup files -// this is useful during incremental backup, no files in backup means no files to restore -// so we can skip some DDL in restore to speed up restoration. -func FilterSchema(backupMeta *kvproto.BackupMeta) error { - dbs, err := utils.LoadBackupTables(backupMeta) - if err != nil { - return errors.Trace(err) - } - schemas := make([]*kvproto.Schema, 0, len(backupMeta.Schemas)) - for _, schema := range backupMeta.Schemas { - dbInfo := &model.DBInfo{} - err := json.Unmarshal(schema.Db, dbInfo) - if err != nil { - return errors.Trace(err) - } - tblInfo := &model.TableInfo{} - err = json.Unmarshal(schema.Table, tblInfo) - if err != nil { - return errors.Trace(err) - } - tbl := dbs[dbInfo.Name.String()].GetTable(tblInfo.Name.String()) - if len(tbl.Files) > 0 { - schemas = append(schemas, schema) - } - } - backupMeta.Schemas = schemas - return nil -} // isRetryableError represents whether we should retry reset grpc connection. func isRetryableError(err error) bool { return status.Code(err) == codes.Unavailable || status.Code(err) == codes.Canceled } -======= ->>>>>>> 64271cf... test: fix br incremental index not stable (#468)