Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

br: improve backoff unit test #30892

Merged
merged 23 commits into from
Dec 22, 2021
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
cc5c8d5
fix issue 27015
fengou1 Sep 27, 2021
65ccd96
Merge branch 'master' into issue_27015
fengou1 Sep 27, 2021
bd531c8
fix comments - add general function isRetryableError
fengou1 Sep 28, 2021
a3b0df0
Merge branch 'issue_27015' of https://github.com/fengou1/tidb into is…
fengou1 Sep 28, 2021
c1ddff9
Merge branch 'master' into issue_27015
fengou1 Sep 28, 2021
0fbd620
remote uncessary package errors
fengou1 Sep 28, 2021
0f1976c
Merge branch 'issue_27015' of https://github.com/fengou1/tidb into is…
fengou1 Sep 28, 2021
6dcdbdb
reused the retry code from lightning
fengou1 Sep 29, 2021
fe147b9
Merge branch 'master' into issue_27015
fengou1 Sep 29, 2021
8dcda02
Merge branch 'master' into issue_27015
fengou1 Oct 7, 2021
e97b450
refactoring retryable
fengou1 Oct 7, 2021
a825bea
Merge branch 'master' into issue_27015
fengou1 Oct 9, 2021
440cdf5
Merge branch 'master' into issue_27015
fengou1 Oct 12, 2021
be50b96
rebase
fengou1 Oct 21, 2021
610beaa
Merge branch 'master' of https://github.com/pingcap/tidb
fengou1 Oct 23, 2021
f0ce332
Merge branch 'pingcap:master' into master
fengou1 Dec 16, 2021
f1a9ecf
Merge branch 'master' of https://github.com/pingcap/tidb
fengou1 Dec 16, 2021
e62ae0b
Merge branch 'master' of https://github.com/fengou1/tidb
fengou1 Dec 16, 2021
1c78228
Merge branch 'pingcap:master' into unit_test
fengou1 Dec 20, 2021
3c0f36b
add unit test for download and import backoff
fengou1 Dec 20, 2021
e4607d7
Merge branch 'unit_test' of github.com:fengou1/tidb into unit_test
fengou1 Dec 20, 2021
1fbf252
replace switch with if condition
fengou1 Dec 22, 2021
ff06254
Merge branch 'master' into unit_test
ti-chi-bot Dec 22, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions br/pkg/utils/backoff_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,3 +123,43 @@ func TestPdBackoffWithRetryableError(t *testing.T) {
gRPCError,
}, multierr.Errors(err))
}

func TestNewImportSSTBackofferWithSucess(t *testing.T) {
t.Parallel()

var counter int
backoffer := utils.NewImportSSTBackoffer()
err := utils.WithRetry(context.Background(), func() error {
defer func() { counter++ }()
if counter == 15 {
return nil
} else {
return berrors.ErrKVDownloadFailed
}
}, backoffer)
require.Equal(t, 16, counter)
require.Nil(t, err)
}

func TestNewDownloadSSTBackofferWithCancel(t *testing.T) {
t.Parallel()

var counter int
backoffer := utils.NewDownloadSSTBackoffer()
err := utils.WithRetry(context.Background(), func() error {
defer func() { counter++ }()
if counter == 3 {
return context.Canceled
} else {
return berrors.ErrKVIngestFailed
}

}, backoffer)
require.Equal(t, 4, counter)
require.Equal(t, []error{
berrors.ErrKVIngestFailed,
berrors.ErrKVIngestFailed,
berrors.ErrKVIngestFailed,
context.Canceled,
}, multierr.Errors(err))
}