diff --git a/br/pkg/backup/client.go b/br/pkg/backup/client.go index 79edc3403be68..07bfd3aa4c253 100644 --- a/br/pkg/backup/client.go +++ b/br/pkg/backup/client.go @@ -719,7 +719,7 @@ func OnBackupResponse( if lockErr := v.KvError.Locked; lockErr != nil { // Try to resolve lock. log.Warn("backup occur kv error", zap.Reflect("error", v)) - msBeforeExpired, _, err1 := lockResolver.ResolveLocks( + msBeforeExpired, err1 := lockResolver.ResolveLocks( bo, backupTS, []*txnlock.Lock{txnlock.NewLock(lockErr)}) if err1 != nil { return nil, 0, errors.Trace(err1) diff --git a/ddl/ddl_algorithm_test.go b/ddl/ddl_algorithm_serial_test.go similarity index 89% rename from ddl/ddl_algorithm_test.go rename to ddl/ddl_algorithm_serial_test.go index 444eddc41efe5..be9c87af3a163 100644 --- a/ddl/ddl_algorithm_test.go +++ b/ddl/ddl_algorithm_serial_test.go @@ -15,27 +15,25 @@ package ddl_test import ( - . "github.com/pingcap/check" + "testing" + "github.com/pingcap/tidb/ddl" "github.com/pingcap/tidb/parser/ast" + "github.com/stretchr/testify/require" ) -var _ = Suite(&testDDLAlgorithmSuite{}) - var ( allAlgorithm = []ast.AlgorithmType{ast.AlgorithmTypeCopy, ast.AlgorithmTypeInplace, ast.AlgorithmTypeInstant} ) -type testDDLAlgorithmSuite struct{} - type testCase struct { alterSpec ast.AlterTableSpec supportedAlgorithm []ast.AlgorithmType expectedAlgorithm []ast.AlgorithmType } -func (s *testDDLAlgorithmSuite) TestFindAlterAlgorithm(c *C) { +func TestFindAlterAlgorithm(t *testing.T) { supportedInstantAlgorithms := []ast.AlgorithmType{ast.AlgorithmTypeDefault, ast.AlgorithmTypeCopy, ast.AlgorithmTypeInplace, ast.AlgorithmTypeInstant} expectedInstantAlgorithms := []ast.AlgorithmType{ast.AlgorithmTypeInstant, ast.AlgorithmTypeInstant, ast.AlgorithmTypeInstant, ast.AlgorithmTypeInstant} @@ -77,11 +75,11 @@ func (s *testDDLAlgorithmSuite) TestFindAlterAlgorithm(c *C) { } for _, tc := range testCases { - runAlterAlgorithmTestCases(c, &tc) + runAlterAlgorithmTestCases(t, &tc) } } -func runAlterAlgorithmTestCases(c *C, tc *testCase) { +func runAlterAlgorithmTestCases(t *testing.T, tc *testCase) { unsupported := make([]ast.AlgorithmType, 0, len(allAlgorithm)) Loop: for _, alm := range allAlgorithm { @@ -101,16 +99,16 @@ Loop: for i, alm := range tc.supportedAlgorithm { algorithm, err = ddl.ResolveAlterAlgorithm(&tc.alterSpec, alm) if err != nil { - c.Assert(ddl.ErrAlterOperationNotSupported.Equal(err), IsTrue) + require.True(t, ddl.ErrAlterOperationNotSupported.Equal(err)) } - c.Assert(algorithm, Equals, tc.expectedAlgorithm[i]) + require.Equal(t, tc.expectedAlgorithm[i], algorithm) } // Test unsupported. for _, alm := range unsupported { algorithm, err = ddl.ResolveAlterAlgorithm(&tc.alterSpec, alm) - c.Assert(algorithm, Equals, ast.AlgorithmTypeDefault) - c.Assert(err, NotNil, Commentf("Tp:%v, alm:%s", tc.alterSpec.Tp, alm)) - c.Assert(ddl.ErrAlterOperationNotSupported.Equal(err), IsTrue) + require.Equal(t, ast.AlgorithmTypeDefault, algorithm) + require.Error(t, err) + require.True(t, ddl.ErrAlterOperationNotSupported.Equal(err)) } } diff --git a/go.mod b/go.mod index b0216c411f6e3..145eb54825ce9 100644 --- a/go.mod +++ b/go.mod @@ -65,7 +65,7 @@ require ( github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.7.0 github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 - github.com/tikv/client-go/v2 v2.0.0-alpha.0.20211118154139-b11da6307c6f + github.com/tikv/client-go/v2 v2.0.0-alpha.0.20211201083510-3a7675742ee5 github.com/tikv/pd v1.1.0-beta.0.20211118054146-02848d2660ee github.com/twmb/murmur3 v1.1.3 github.com/uber/jaeger-client-go v2.22.1+incompatible diff --git a/go.sum b/go.sum index ccf7a5cb71fa6..f2e3eae89d719 100644 --- a/go.sum +++ b/go.sum @@ -581,7 +581,6 @@ github.com/pingcap/goleveldb v0.0.0-20191226122134-f82aafb29989/go.mod h1:O17Xtb github.com/pingcap/kvproto v0.0.0-20191211054548-3c6b38ea5107/go.mod h1:WWLmULLO7l8IOcQG+t+ItJ3fEcrL5FxF0Wu+HrMy26w= github.com/pingcap/kvproto v0.0.0-20200411081810-b85805c9476c/go.mod h1:IOdRDPLyda8GX2hE/jO7gqaCV/PNFh8BZQCQZXfIOqI= github.com/pingcap/kvproto v0.0.0-20210819164333-bd5706b9d9f2/go.mod h1:IOdRDPLyda8GX2hE/jO7gqaCV/PNFh8BZQCQZXfIOqI= -github.com/pingcap/kvproto v0.0.0-20210915062418-0f5764a128ad/go.mod h1:IOdRDPLyda8GX2hE/jO7gqaCV/PNFh8BZQCQZXfIOqI= github.com/pingcap/kvproto v0.0.0-20211109071446-a8b4d34474bc/go.mod h1:IOdRDPLyda8GX2hE/jO7gqaCV/PNFh8BZQCQZXfIOqI= github.com/pingcap/kvproto v0.0.0-20211122024046-03abd340988f h1:hjInxK1Ie6CYx7Jy2pYnBdEnWI8jIfr423l9Yh6LRy8= github.com/pingcap/kvproto v0.0.0-20211122024046-03abd340988f/go.mod h1:IOdRDPLyda8GX2hE/jO7gqaCV/PNFh8BZQCQZXfIOqI= @@ -711,8 +710,8 @@ github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2/go.mod h1:2PfK github.com/tidwall/gjson v1.3.5/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls= github.com/tidwall/match v1.0.1/go.mod h1:LujAq0jyVjBy028G1WhWfIzbpQfMO8bBZ6Tyb0+pL9E= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tikv/client-go/v2 v2.0.0-alpha.0.20211118154139-b11da6307c6f h1:UyJjp3wGIjf1edGiQiIdAtL5QFqaqR4+s3LDwUZU7NY= -github.com/tikv/client-go/v2 v2.0.0-alpha.0.20211118154139-b11da6307c6f/go.mod h1:BEAS0vXm5BorlF/HTndqGwcGDvaiwe7B7BkfgwwZMJ4= +github.com/tikv/client-go/v2 v2.0.0-alpha.0.20211201083510-3a7675742ee5 h1:c0zWUeB8aog6TceRyFEjA2fYUJka8RNGBZWU5l7XF9g= +github.com/tikv/client-go/v2 v2.0.0-alpha.0.20211201083510-3a7675742ee5/go.mod h1:wRuh+W35daKTiYBld0oBlT6PSkzEVr+pB/vChzJZk+8= github.com/tikv/pd v1.1.0-beta.0.20211029083450-e65f0c55b6ae/go.mod h1:varH0IE0jJ9E9WN2Ei/N6pajMlPkcXdDEf7f5mmsUVQ= github.com/tikv/pd v1.1.0-beta.0.20211118054146-02848d2660ee h1:rAAdvQ8Hh36syHr92g0VmZEpkH+40RGQBpFL2121xMs= github.com/tikv/pd v1.1.0-beta.0.20211118054146-02848d2660ee/go.mod h1:lRbwxBAhnTQR5vqbTzeI/Bj62bD2OvYYuFezo2vrmeI= diff --git a/store/copr/coprocessor.go b/store/copr/coprocessor.go index 50ec15dd01176..25ed965ea15e3 100644 --- a/store/copr/coprocessor.go +++ b/store/copr/coprocessor.go @@ -306,7 +306,8 @@ type copIterator struct { // when the Close is called. we use atomic.CompareAndSwap `closed` to to make sure the channel is not closed twice. closed uint32 - resolvedLocks util.TSSet + resolvedLocks util.TSSet + committedLocks util.TSSet actionOnExceed *rateLimitAction } @@ -444,7 +445,7 @@ func (it *copIterator) open(ctx context.Context, enabledRateLimitAction bool) { respChan: it.respChan, finishCh: it.finishCh, vars: it.vars, - kvclient: txnsnapshot.NewClientHelper(it.store.store, &it.resolvedLocks, false), + kvclient: txnsnapshot.NewClientHelper(it.store.store, &it.resolvedLocks, &it.committedLocks, false), memTracker: it.memTracker, replicaReadSeed: it.replicaReadSeed, actionOnExceed: it.actionOnExceed,