From 019a6812b665b72ebca22815453514068550841a Mon Sep 17 00:00:00 2001 From: Spade A Date: Mon, 3 Jul 2023 18:05:35 +0800 Subject: [PATCH 1/7] update Signed-off-by: Spade A --- config/config_test.go | 3 +++ go.mod | 1 + go.sum | 4 ++-- store/copr/coprocessor.go | 4 +++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/config/config_test.go b/config/config_test.go index e54e0a026051d..51ff37ab6a832 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -25,6 +25,7 @@ import ( "regexp" "strings" "testing" + "time" "github.com/BurntSushi/toml" "github.com/pingcap/errors" @@ -752,6 +753,7 @@ region-cache-ttl=6000 store-limit=0 ttl-refreshed-txn-size=8192 resolve-lock-lite-threshold = 16 +copr-req-timeout = "120s" [tikv-client.async-commit] keys-limit=123 total-key-size-limit=1024 @@ -808,6 +810,7 @@ max_connections = 200 require.Equal(t, uint64(10000), conf.SplitRegionMaxNum) require.True(t, conf.RepairMode) require.Equal(t, uint64(16), conf.TiKVClient.ResolveLockLiteThreshold) + require.Equal(t, 120*time.Second, conf.TiKVClient.CoprReqTimeout) require.Equal(t, uint32(200), conf.Instance.MaxConnections) require.Equal(t, uint32(10), conf.TiDBMaxReuseChunk) require.Equal(t, uint32(20), conf.TiDBMaxReuseColumn) diff --git a/go.mod b/go.mod index b3ee0878dbcb5..d4087763f4739 100644 --- a/go.mod +++ b/go.mod @@ -304,5 +304,6 @@ replace ( github.com/dgrijalva/jwt-go => github.com/form3tech-oss/jwt-go v3.2.6-0.20210809144907-32ab6a8243d7+incompatible github.com/go-ldap/ldap/v3 => github.com/YangKeao/ldap/v3 v3.4.5-0.20230421065457-369a3bab1117 github.com/pingcap/tidb/parser => ./parser + github.com/tikv/client-go/v2 => github.com/SpadeA-Tang/client-go/v2 v2.0.1-0.20230703094423-9f0b330b9fad go.opencensus.io => go.opencensus.io v0.23.1-0.20220331163232-052120675fac ) diff --git a/go.sum b/go.sum index 14749d2f1456f..2cb942254d5a4 100644 --- a/go.sum +++ b/go.sum @@ -94,6 +94,8 @@ github.com/Shopify/sarama v1.29.0 h1:ARid8o8oieau9XrHI55f/L3EoRAhm9px6sonbD7yuUE github.com/Shopify/sarama v1.29.0/go.mod h1:2QpgD79wpdAESqNQMxNc0KYMkycd4slxGdV3TWSVqrU= github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/SpadeA-Tang/client-go/v2 v2.0.1-0.20230703094423-9f0b330b9fad h1:OBDN0yoZuNmv6o6wHFVfTP4lNRc9NIpeyFIsd8Rz5As= +github.com/SpadeA-Tang/client-go/v2 v2.0.1-0.20230703094423-9f0b330b9fad/go.mod h1:4KkKqjJgKlvvWMyNqdnAlYFfV4QjEj1fEb5Hb/FoT88= github.com/StackExchange/wmi v0.0.0-20180725035823-b12b22c5341f/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= @@ -977,8 +979,6 @@ github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 h1:mbAskLJ0oJf github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2/go.mod h1:2PfKggNGDuadAa0LElHrByyrz4JPZ9fFx6Gs7nx7ZZU= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a h1:J/YdBZ46WKpXsxsW93SG+q0F8KI+yFrcIDT4c/RNoc4= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a/go.mod h1:h4xBhSNtOeEosLJ4P7JyKXX7Cabg7AVkWCK5gV2vOrM= -github.com/tikv/client-go/v2 v2.0.8-0.20230621031026-864a5fc0c482 h1:KIqPtZ+U4RLuqL6wjobTnNn+111esFtu7+bY/50KKP4= -github.com/tikv/client-go/v2 v2.0.8-0.20230621031026-864a5fc0c482/go.mod h1:4KkKqjJgKlvvWMyNqdnAlYFfV4QjEj1fEb5Hb/FoT88= github.com/tikv/pd/client v0.0.0-20230613052906-7158cb319935 h1:a5SATBxu/0Z6qNnz4KXDN91gDA06waaYcHM6dkb6lz4= github.com/tikv/pd/client v0.0.0-20230613052906-7158cb319935/go.mod h1:YmNkj9UT8IjwFov9k3oquH0UgIUHniUaQT3jXKgZYbM= github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M= diff --git a/store/copr/coprocessor.go b/store/copr/coprocessor.go index 23a5ce741b6ae..2f66ab9521096 100644 --- a/store/copr/coprocessor.go +++ b/store/copr/coprocessor.go @@ -17,6 +17,7 @@ package copr import ( "context" "fmt" + "github.com/pingcap/tidb/config" "math" "net" "strconv" @@ -1202,7 +1203,8 @@ func (worker *copIteratorWorker) handleTaskOnce(bo *Backoffer, task *copTask, ch req.ReplicaReadType = options.GetTiKVReplicaReadType(kv.ReplicaReadFollower) ops = append(ops, tikv.WithMatchStores([]uint64{*task.redirect2Replica})) } - resp, rpcCtx, storeAddr, err := worker.kvclient.SendReqCtx(bo.TiKVBackoffer(), req, task.region, tikv.ReadTimeoutMedium, getEndPointType(task.storeType), task.storeAddr, ops...) + resp, rpcCtx, storeAddr, err := worker.kvclient.SendReqCtx(bo.TiKVBackoffer(), req, task.region, + config.GetGlobalConfig().TiKVClient.CoprReqTimeout, getEndPointType(task.storeType), task.storeAddr, ops...) err = derr.ToTiDBErr(err) if err != nil { if task.storeType == kv.TiDB { From a3de99f9c8ec1f1a5e6ddd0355a71cfeb91d3330 Mon Sep 17 00:00:00 2001 From: Spade A Date: Mon, 3 Jul 2023 18:15:39 +0800 Subject: [PATCH 2/7] fmt Signed-off-by: Spade A --- store/copr/coprocessor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/store/copr/coprocessor.go b/store/copr/coprocessor.go index 2f66ab9521096..b30fba38050cc 100644 --- a/store/copr/coprocessor.go +++ b/store/copr/coprocessor.go @@ -17,7 +17,6 @@ package copr import ( "context" "fmt" - "github.com/pingcap/tidb/config" "math" "net" "strconv" @@ -34,6 +33,7 @@ import ( "github.com/pingcap/kvproto/pkg/errorpb" "github.com/pingcap/kvproto/pkg/kvrpcpb" "github.com/pingcap/kvproto/pkg/metapb" + "github.com/pingcap/tidb/config" "github.com/pingcap/tidb/domain/infosync" "github.com/pingcap/tidb/domain/resourcegroup" "github.com/pingcap/tidb/errno" From a7bc8f545c3af7360a3947a2fa87fc09a4eca23c Mon Sep 17 00:00:00 2001 From: Spade A Date: Tue, 11 Jul 2023 13:44:56 +0800 Subject: [PATCH 3/7] update Signed-off-by: Spade A --- store/copr/coprocessor.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/store/copr/coprocessor.go b/store/copr/coprocessor.go index b30fba38050cc..e867a42c9c42e 100644 --- a/store/copr/coprocessor.go +++ b/store/copr/coprocessor.go @@ -1340,8 +1340,8 @@ func (worker *copIteratorWorker) handleCopResponse(bo *Backoffer, rpcCtx *tikv.R worker.sendToRespCh(resp, ch, true) return nil, nil } - errStr := fmt.Sprintf("region_id:%v, region_ver:%v, store_type:%s, peer_addr:%s, error:%s", - task.region.GetID(), task.region.GetVer(), task.storeType.Name(), task.storeAddr, regionErr.String()) + errStr := fmt.Sprintf("region_id:%v, region_ver:%v, bucket_ver:%v store_type:%s, peer_addr:%s, error:%s", + task.region.GetID(), task.region.GetVer(), task.bucketsVer, task.storeType.Name(), task.storeAddr, regionErr.String()) if err := bo.Backoff(tikv.BoRegionMiss(), errors.New(errStr)); err != nil { return nil, errors.Trace(err) } @@ -1467,8 +1467,8 @@ func (worker *copIteratorWorker) handleBatchCopResponse(bo *Backoffer, rpcCtx *t batchResp.RegionError = &errorpb.Error{} }) if regionErr := batchResp.GetRegionError(); regionErr != nil { - errStr := fmt.Sprintf("region_id:%v, region_ver:%v, store_type:%s, peer_addr:%s, error:%s", - task.region.GetID(), task.region.GetVer(), task.storeType.Name(), task.storeAddr, regionErr.String()) + errStr := fmt.Sprintf("region_id:%v, region_ver:%v, bucket_ver:%v store_type:%s, peer_addr:%s, error:%s", + task.region.GetID(), task.region.GetVer(), task.bucketsVer, task.storeType.Name(), task.storeAddr, regionErr.String()) if err := bo.Backoff(tikv.BoRegionMiss(), errors.New(errStr)); err != nil { return nil, errors.Trace(err) } From 5b585c2c8572b0a74d0cbb57e5ba64d8ae001dab Mon Sep 17 00:00:00 2001 From: Spade A Date: Tue, 11 Jul 2023 16:42:53 +0800 Subject: [PATCH 4/7] update client go Signed-off-by: Spade A --- go.mod | 3 +-- go.sum | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index d4087763f4739..5a1127140ec0c 100644 --- a/go.mod +++ b/go.mod @@ -97,7 +97,7 @@ require ( github.com/stretchr/testify v1.8.4 github.com/tdakkota/asciicheck v0.2.0 github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 - github.com/tikv/client-go/v2 v2.0.8-0.20230621031026-864a5fc0c482 + github.com/tikv/client-go/v2 v2.0.8-0.20230711075855-e540aa3b9657 github.com/tikv/pd/client v0.0.0-20230613052906-7158cb319935 github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 github.com/twmb/murmur3 v1.1.6 @@ -304,6 +304,5 @@ replace ( github.com/dgrijalva/jwt-go => github.com/form3tech-oss/jwt-go v3.2.6-0.20210809144907-32ab6a8243d7+incompatible github.com/go-ldap/ldap/v3 => github.com/YangKeao/ldap/v3 v3.4.5-0.20230421065457-369a3bab1117 github.com/pingcap/tidb/parser => ./parser - github.com/tikv/client-go/v2 => github.com/SpadeA-Tang/client-go/v2 v2.0.1-0.20230703094423-9f0b330b9fad go.opencensus.io => go.opencensus.io v0.23.1-0.20220331163232-052120675fac ) diff --git a/go.sum b/go.sum index 2cb942254d5a4..9e2047314dcf6 100644 --- a/go.sum +++ b/go.sum @@ -94,8 +94,6 @@ github.com/Shopify/sarama v1.29.0 h1:ARid8o8oieau9XrHI55f/L3EoRAhm9px6sonbD7yuUE github.com/Shopify/sarama v1.29.0/go.mod h1:2QpgD79wpdAESqNQMxNc0KYMkycd4slxGdV3TWSVqrU= github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/SpadeA-Tang/client-go/v2 v2.0.1-0.20230703094423-9f0b330b9fad h1:OBDN0yoZuNmv6o6wHFVfTP4lNRc9NIpeyFIsd8Rz5As= -github.com/SpadeA-Tang/client-go/v2 v2.0.1-0.20230703094423-9f0b330b9fad/go.mod h1:4KkKqjJgKlvvWMyNqdnAlYFfV4QjEj1fEb5Hb/FoT88= github.com/StackExchange/wmi v0.0.0-20180725035823-b12b22c5341f/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= @@ -979,6 +977,10 @@ github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 h1:mbAskLJ0oJf github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2/go.mod h1:2PfKggNGDuadAa0LElHrByyrz4JPZ9fFx6Gs7nx7ZZU= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a h1:J/YdBZ46WKpXsxsW93SG+q0F8KI+yFrcIDT4c/RNoc4= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a/go.mod h1:h4xBhSNtOeEosLJ4P7JyKXX7Cabg7AVkWCK5gV2vOrM= +github.com/tikv/client-go/v2 v2.0.8-0.20230621031026-864a5fc0c482 h1:KIqPtZ+U4RLuqL6wjobTnNn+111esFtu7+bY/50KKP4= +github.com/tikv/client-go/v2 v2.0.8-0.20230621031026-864a5fc0c482/go.mod h1:4KkKqjJgKlvvWMyNqdnAlYFfV4QjEj1fEb5Hb/FoT88= +github.com/tikv/client-go/v2 v2.0.8-0.20230711075855-e540aa3b9657 h1:wRqy8mHs5IocLn4pDvqrwGs4lc3wKhdDXxFyLi8kNbQ= +github.com/tikv/client-go/v2 v2.0.8-0.20230711075855-e540aa3b9657/go.mod h1:4KkKqjJgKlvvWMyNqdnAlYFfV4QjEj1fEb5Hb/FoT88= github.com/tikv/pd/client v0.0.0-20230613052906-7158cb319935 h1:a5SATBxu/0Z6qNnz4KXDN91gDA06waaYcHM6dkb6lz4= github.com/tikv/pd/client v0.0.0-20230613052906-7158cb319935/go.mod h1:YmNkj9UT8IjwFov9k3oquH0UgIUHniUaQT3jXKgZYbM= github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M= From 0df67be7b6d1ad61b278f24d23e13a1be29630ca Mon Sep 17 00:00:00 2001 From: Spade A Date: Tue, 11 Jul 2023 17:01:45 +0800 Subject: [PATCH 5/7] update Signed-off-by: Spade A --- DEPS.bzl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DEPS.bzl b/DEPS.bzl index c7809d341986f..a3d0b72bf876a 100644 --- a/DEPS.bzl +++ b/DEPS.bzl @@ -3863,8 +3863,8 @@ def go_deps(): name = "com_github_tikv_client_go_v2", build_file_proto_mode = "disable_global", importpath = "github.com/tikv/client-go/v2", - sum = "h1:pLUQsFZGE3z7OlZddP+WHkb85rLoxPwRd8CknfSw804=", - version = "v2.0.8-0.20230707070242-178f6fa01aab", + sum = "h1:wRqy8mHs5IocLn4pDvqrwGs4lc3wKhdDXxFyLi8kNbQ=", + version = "v2.0.8-0.20230711075855-e540aa3b9657", ) go_repository( From 9d0b607aea0d00e348d6216e79734406a148dd88 Mon Sep 17 00:00:00 2001 From: Spade A Date: Mon, 17 Jul 2023 11:23:35 +0800 Subject: [PATCH 6/7] update Signed-off-by: Spade A --- store/copr/coprocessor.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/store/copr/coprocessor.go b/store/copr/coprocessor.go index dc12500ed73ca..5c14f1e907764 100644 --- a/store/copr/coprocessor.go +++ b/store/copr/coprocessor.go @@ -1342,8 +1342,8 @@ func (worker *copIteratorWorker) handleCopResponse(bo *Backoffer, rpcCtx *tikv.R worker.sendToRespCh(resp, ch, true) return nil, nil } - errStr := fmt.Sprintf("region_id:%v, region_ver:%v, bucket_ver:%v store_type:%s, peer_addr:%s, error:%s", - task.region.GetID(), task.region.GetVer(), task.bucketsVer, task.storeType.Name(), task.storeAddr, regionErr.String()) + errStr := fmt.Sprintf("region_id:%v, region_ver:%v, store_type:%s, peer_addr:%s, error:%s", + task.region.GetID(), task.region.GetVer(), task.storeType.Name(), task.storeAddr, regionErr.String()) if err := bo.Backoff(tikv.BoRegionMiss(), errors.New(errStr)); err != nil { return nil, errors.Trace(err) } @@ -1469,8 +1469,8 @@ func (worker *copIteratorWorker) handleBatchCopResponse(bo *Backoffer, rpcCtx *t batchResp.RegionError = &errorpb.Error{} }) if regionErr := batchResp.GetRegionError(); regionErr != nil { - errStr := fmt.Sprintf("region_id:%v, region_ver:%v, bucket_ver:%v store_type:%s, peer_addr:%s, error:%s", - task.region.GetID(), task.region.GetVer(), task.bucketsVer, task.storeType.Name(), task.storeAddr, regionErr.String()) + errStr := fmt.Sprintf("region_id:%v, region_ver:%v, store_type:%s, peer_addr:%s, error:%s", + task.region.GetID(), task.region.GetVer(), task.storeType.Name(), task.storeAddr, regionErr.String()) if err := bo.Backoff(tikv.BoRegionMiss(), errors.New(errStr)); err != nil { return nil, errors.Trace(err) } From 691288a894424e468a13512ede430d6a3705d8b5 Mon Sep 17 00:00:00 2001 From: Spade A Date: Mon, 17 Jul 2023 11:38:24 +0800 Subject: [PATCH 7/7] update Signed-off-by: Spade A --- br/pkg/gluetidb/glue.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/br/pkg/gluetidb/glue.go b/br/pkg/gluetidb/glue.go index 3dbf8be5d31bd..16ca2077d5a57 100644 --- a/br/pkg/gluetidb/glue.go +++ b/br/pkg/gluetidb/glue.go @@ -6,6 +6,7 @@ import ( "bytes" "context" "strings" + "time" "github.com/pingcap/errors" "github.com/pingcap/log" @@ -44,6 +45,7 @@ func New() Glue { config.UpdateGlobal(func(conf *config.Config) { conf.SkipRegisterToDashboard = true conf.Log.EnableSlowLog.Store(false) + conf.TiKVClient.CoprReqTimeout = 1800 * time.Second }) return Glue{} }