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

apiv2: keyspace management #5313

Merged
merged 105 commits into from
Feb 2, 2023
Merged
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
54a9a53
storage: keyspace storage
AmoebaProtozoa Jul 5, 2022
235d463
storage: encode spaceID string as base 10
AmoebaProtozoa Jul 5, 2022
2008600
storage: add save/load keyspace ID
AmoebaProtozoa Jul 5, 2022
78ee5c6
server: keyspace
AmoebaProtozoa Jul 7, 2022
01bb8e1
make id allocator more general purporse
AmoebaProtozoa Jul 7, 2022
406a79f
use new idAllocator
AmoebaProtozoa Jul 7, 2022
60b72e9
added tests
AmoebaProtozoa Jul 8, 2022
4a7a4d2
Merge branch 'tikv:master' into keyspace_server
AmoebaProtozoa Jul 8, 2022
e3de2be
server: added concurrent update tests
AmoebaProtozoa Jul 11, 2022
6782d26
client: keyspace client
AmoebaProtozoa Jul 11, 2022
7d1fa32
server: fix updare and create request
AmoebaProtozoa Jul 12, 2022
d3d0dc8
server: fix updare and create request
AmoebaProtozoa Jul 12, 2022
db42ebf
storage: remove keyspace
AmoebaProtozoa Jul 13, 2022
f3e0e65
server: change create keyspace order
AmoebaProtozoa Jul 13, 2022
b6c248d
API: basic implementation
AmoebaProtozoa Jul 13, 2022
2311533
API: added swaggo annotations
AmoebaProtozoa Jul 14, 2022
27ba850
update comments
AmoebaProtozoa Jul 15, 2022
253b2c7
address comments
AmoebaProtozoa Jul 11, 2022
43632d9
move helper functions to utils.go
AmoebaProtozoa Jul 20, 2022
812e38e
Merge branch 'keyspace_server' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Jul 20, 2022
ff7718d
get keyspace manager
AmoebaProtozoa Jul 20, 2022
a97405d
get keyspace manager
AmoebaProtozoa Jul 20, 2022
ee5a028
server: fix watch
AmoebaProtozoa Jul 20, 2022
f7e13fb
client: added integration tests
AmoebaProtozoa Jul 20, 2022
90f8dbf
server: fix watch
AmoebaProtozoa Jul 20, 2022
baf49ca
Merge branch 'keyspace_client' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Jul 20, 2022
3af3d55
update update apis
AmoebaProtozoa Jul 21, 2022
09e8526
server: fix case where request does not contain initial config
AmoebaProtozoa Jul 21, 2022
1ca5ebc
api: use updated design
AmoebaProtozoa Jul 21, 2022
299f612
api: use updated design
AmoebaProtozoa Jul 21, 2022
abad762
Merge branch 'tikv:master' into keyspace_api
AmoebaProtozoa Jul 21, 2022
a983476
added JSON unmarshall method to handler request
AmoebaProtozoa Jul 21, 2022
2445ca1
added API Integration tests
AmoebaProtozoa Jul 21, 2022
32a29c6
update state integration test
AmoebaProtozoa Jul 21, 2022
73930f9
Merge branch 'master' of github.com:tikv/pd into keyspace_server
AmoebaProtozoa Jul 21, 2022
7e0c73b
server: initi default keyspace
AmoebaProtozoa Jul 21, 2022
15b8085
Merge branch 'keyspace_server' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Jul 21, 2022
b3fce35
client: removed update config rpc, added default keyspace tests
AmoebaProtozoa Jul 22, 2022
0200684
Merge branch 'keyspace_client' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Jul 22, 2022
156d046
Merge branch 'master' of github.com:tikv/pd into keyspace_api
AmoebaProtozoa Jul 22, 2022
fbe2581
api: fix tests
AmoebaProtozoa Jul 22, 2022
dec67b5
added RunInTxn style interface to base kv
AmoebaProtozoa Jul 22, 2022
898b2d1
added unit tests
AmoebaProtozoa Jul 22, 2022
290487b
server: export default keyspace name and id
AmoebaProtozoa Jul 22, 2022
7df25aa
client: use exported default keyspace
AmoebaProtozoa Jul 22, 2022
4a4c4db
api: add unit test for load all
AmoebaProtozoa Jul 22, 2022
8c61ff2
update comments
AmoebaProtozoa Jul 27, 2022
cf54caf
Merge branch 'master' into RunInTxn
AmoebaProtozoa Jul 27, 2022
5811b0d
storage: fix lint
AmoebaProtozoa Jul 27, 2022
a96fd68
server: export default keyspace name and id
AmoebaProtozoa Jul 22, 2022
29da7ff
client: use exported default keyspace
AmoebaProtozoa Jul 22, 2022
7cc5a59
server: export default keyspace name and id
AmoebaProtozoa Jul 22, 2022
2bd8eac
storage: fix lint
AmoebaProtozoa Jul 27, 2022
3a4426b
storage: fix lint
AmoebaProtozoa Jul 27, 2022
3fbd8e2
server: fix lint
AmoebaProtozoa Jul 27, 2022
7ada7b9
Merge branch 'keyspace_server' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Jul 27, 2022
d205a80
fmt
AmoebaProtozoa Jul 27, 2022
d64d8fd
Merge branch 'keyspace_client' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Jul 27, 2022
04961f7
fix lint
AmoebaProtozoa Jul 27, 2022
a6f2521
change update config to follow apiv2 standard
AmoebaProtozoa Aug 2, 2022
7d8760c
use lock group to control keyspace concurrency
AmoebaProtozoa Aug 5, 2022
20d6ed5
Merge branch 'keyspace_server' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Aug 5, 2022
6f5a8ff
Merge branch 'master' of github.com:tikv/pd into keyspace_server
AmoebaProtozoa Aug 8, 2022
26990e4
typo fix
AmoebaProtozoa Aug 8, 2022
834116b
lower lockgroup test concurrency for ci test
AmoebaProtozoa Aug 8, 2022
fab7886
address comments
AmoebaProtozoa Aug 8, 2022
f4d66f1
let keyspace service wrap GrpcService, add cluster id check
AmoebaProtozoa Aug 9, 2022
7360193
make lockGroup more general
AmoebaProtozoa Aug 9, 2022
0753820
Merge branch 'keyspace_server' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Aug 9, 2022
9383b4c
Merge branch 'keyspace_client' of github.com:AmoebaProtozoa/pd into k…
AmoebaProtozoa Aug 9, 2022
517b990
added init keyspace check
AmoebaProtozoa Aug 10, 2022
23cdc0a
fixed dial client leak
AmoebaProtozoa Aug 10, 2022
9b274df
lower lockgroup test concurrency
AmoebaProtozoa Aug 10, 2022
e91776c
cleanup cluster before watch keyspace test
AmoebaProtozoa Aug 10, 2022
bbac817
typo fix
AmoebaProtozoa Aug 10, 2022
bd6b9ac
reinstate checks for leadership
AmoebaProtozoa Aug 10, 2022
9dda292
reformat import for client
AmoebaProtozoa Aug 10, 2022
57c178a
Merge branch 'master' of github.com:tikv/pd into keyspace_api
AmoebaProtozoa Aug 31, 2022
af3d314
update keyspace api to new manager requests
AmoebaProtozoa Aug 31, 2022
a31704e
update keyspace api to RESTful
AmoebaProtozoa Sep 1, 2022
a6e0cbb
Merge branch 'master' of github.com:tikv/pd into keyspace_api
AmoebaProtozoa Sep 1, 2022
2dca250
swag fmt
AmoebaProtozoa Sep 1, 2022
05cf81c
address comments
AmoebaProtozoa Sep 2, 2022
0ad3539
Merge remote-tracking branch 'upstream/master' into RunInTxn
AmoebaProtozoa Jan 4, 2023
be81039
sort import
AmoebaProtozoa Jan 4, 2023
d98d3d2
Merge branch 'master' into RunInTxn
AmoebaProtozoa Jan 6, 2023
149ce0c
pin create revision when key not exist
AmoebaProtozoa Jan 9, 2023
d5f462e
init commit
AmoebaProtozoa Jan 9, 2023
dfaa8cd
fix test
AmoebaProtozoa Jan 9, 2023
3106c83
Merge remote-tracking branch 'upstream/master' into RefactorKeyspaceM…
AmoebaProtozoa Jan 9, 2023
b65de48
fix test
AmoebaProtozoa Jan 9, 2023
2b61a68
Merge branch 'RefactorKeyspaceManager' into keyspace_api
AmoebaProtozoa Jan 9, 2023
c6e1a58
fix test
AmoebaProtozoa Jan 9, 2023
fefea02
update kvproto go mod
AmoebaProtozoa Jan 10, 2023
8840e9e
Merge branch 'master' into keyspace_api
AmoebaProtozoa Jan 10, 2023
85a85c8
Merge remote-tracking branch 'upstream/master' into keyspace_api
AmoebaProtozoa Jan 12, 2023
62f7c16
remove unused manager method
AmoebaProtozoa Jan 12, 2023
59e3ac9
Merge branch 'master' into keyspace_api
AmoebaProtozoa Jan 13, 2023
3f3618b
Merge branch 'master' into keyspace_api
AmoebaProtozoa Jan 16, 2023
352a3ef
Merge branch 'master' into keyspace_api
AmoebaProtozoa Jan 17, 2023
5ea4cb6
Merge branch 'master' into keyspace_api
AmoebaProtozoa Jan 28, 2023
3ac722b
address comments
AmoebaProtozoa Jan 29, 2023
0e84e4c
Merge branch 'master' into keyspace_api
ti-chi-bot Feb 1, 2023
186a821
empty commit to trigger ci
AmoebaProtozoa Feb 2, 2023
52547cd
Merge branch 'master' into keyspace_api
ti-chi-bot Feb 2, 2023
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
3 changes: 3 additions & 0 deletions client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,9 @@ type Client interface {
WatchGlobalConfig(ctx context.Context) (chan []GlobalConfigItem, error)
// UpdateOption updates the client option.
UpdateOption(option DynamicOption, value interface{}) error

// KeyspaceClient manages keyspace metadata.
KeyspaceClient
// Close closes the client.
Close()
}
Expand Down
3 changes: 3 additions & 0 deletions client/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ module github.com/tikv/pd/client

go 1.16

// TODO: Remove after kvproto merge
replace github.com/pingcap/kvproto => github.com/AmoebaProtozoa/kvproto v0.0.0-20220721101402-e48eba4cc8f7

require (
github.com/opentracing/opentracing-go v1.2.0
github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c
Expand Down
4 changes: 2 additions & 2 deletions client/go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/AmoebaProtozoa/kvproto v0.0.0-20220721101402-e48eba4cc8f7 h1:l8MbmqS/q+3slfDRsFa3w0yTJbS+uSxgkZL9QOPzkJA=
github.com/AmoebaProtozoa/kvproto v0.0.0-20220721101402-e48eba4cc8f7/go.mod h1:OYtxs0786qojVTmkVeufx93xe+jUgm56GUYRIKnmaGI=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
Expand Down Expand Up @@ -104,8 +106,6 @@ github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c h1:xpW9bvK+HuuTm
github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c/go.mod h1:X2r9ueLEUZgtx2cIogM0v4Zj5uvvzhuuiu7Pn8HzMPg=
github.com/pingcap/failpoint v0.0.0-20210918120811-547c13e3eb00 h1:C3N3itkduZXDZFh4N3vQ5HEtld3S+Y+StULhWVvumU0=
github.com/pingcap/failpoint v0.0.0-20210918120811-547c13e3eb00/go.mod h1:4qGtCB0QK0wBzKtFEGDhxXnSnbQApw1gc9siScUl8ew=
github.com/pingcap/kvproto v0.0.0-20220510035547-0e2f26c0a46a h1:TxdHGOFeNa1q1mVv6TgReayf26iI4F8PQUm6RnZ/V/E=
github.com/pingcap/kvproto v0.0.0-20220510035547-0e2f26c0a46a/go.mod h1:OYtxs0786qojVTmkVeufx93xe+jUgm56GUYRIKnmaGI=
github.com/pingcap/log v0.0.0-20211215031037-e024ba4eb0ee h1:VO2t6IBpfvW34TdtD/G10VvnGqjLic1jzOuHjUb5VqM=
github.com/pingcap/log v0.0.0-20211215031037-e024ba4eb0ee/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
Expand Down
113 changes: 113 additions & 0 deletions client/keyspace_client.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
// Copyright 2022 TiKV Project Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package pd

import (
"context"
"go.uber.org/zap"
AmoebaProtozoa marked this conversation as resolved.
Show resolved Hide resolved
"time"

"github.com/opentracing/opentracing-go"
"github.com/pingcap/errors"
"github.com/pingcap/kvproto/pkg/keyspacepb"
"github.com/pingcap/log"
"github.com/tikv/pd/client/grpcutil"
"google.golang.org/grpc"
)

// KeyspaceClient manages keyspace metadata.
type KeyspaceClient interface {
// LoadKeyspace load and return target keyspace's metadata.
LoadKeyspace(ctx context.Context, name string) (*keyspacepb.KeyspaceMeta, error)
// WatchKeyspaces watches keyspace meta changes.
WatchKeyspaces(ctx context.Context) (chan []*keyspacepb.KeyspaceMeta, error)
}

// keyspaceClient returns the KeyspaceClient from current PD leader.
func (c *client) keyspaceClient() keyspacepb.KeyspaceClient {
if cc, ok := c.clientConns.Load(c.GetLeaderAddr()); ok {
return keyspacepb.NewKeyspaceClient(cc.(*grpc.ClientConn))
}
return nil
}

// LoadKeyspace loads and returns target keyspace's metadata.
func (c *client) LoadKeyspace(ctx context.Context, name string) (*keyspacepb.KeyspaceMeta, error) {
if span := opentracing.SpanFromContext(ctx); span != nil {
span = opentracing.StartSpan("keyspaceClient.LoadKeyspace", opentracing.ChildOf(span.Context()))
defer span.Finish()
}
start := time.Now()
defer func() { cmdDurationLoadKeyspace.Observe(time.Since(start).Seconds()) }()
ctx, cancel := context.WithTimeout(ctx, c.option.timeout)
req := &keyspacepb.LoadKeyspaceRequest{
Header: c.requestHeader(),
Name: name,
}
ctx = grpcutil.BuildForwardContext(ctx, c.GetLeaderAddr())
resp, err := c.keyspaceClient().LoadKeyspace(ctx, req)
cancel()

if err != nil {
cmdFailedDurationLoadKeyspace.Observe(time.Since(start).Seconds())
c.ScheduleCheckLeader()
return nil, err
}

if resp.Header.GetError() != nil {
cmdFailedDurationLoadKeyspace.Observe(time.Since(start).Seconds())
return nil, errors.Errorf("Load keyspace %s failed: %s", name, resp.Header.GetError().String())
}

return resp.Keyspace, nil
}

// WatchKeyspaces watches keyspace meta changes.
// It returns a stream of slices of keyspace metadata.
// The first message in stream contains all current keyspaceMeta,
// all subsequent messages contains new put events for all keyspaces.
func (c *client) WatchKeyspaces(ctx context.Context) (chan []*keyspacepb.KeyspaceMeta, error) {
keyspaceWatcherChan := make(chan []*keyspacepb.KeyspaceMeta)
req := &keyspacepb.WatchKeyspacesRequest{
Header: c.requestHeader(),
}
stream, err := c.keyspaceClient().WatchKeyspaces(ctx, req)
if err != nil {
close(keyspaceWatcherChan)
return nil, err
}
go func() {
defer func() {
if r := recover(); r != nil {
log.Error("[pd] panic in keyspace client `WatchKeyspaces`", zap.Any("error", r))
return
}
}()
for {
select {
case <-ctx.Done():
close(keyspaceWatcherChan)
return
default:
resp, err := stream.Recv()
if err != nil {
return
}
keyspaceWatcherChan <- resp.Keyspaces
}
}
}()
return keyspaceWatcherChan, err
}
2 changes: 2 additions & 0 deletions client/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ var (
cmdDurationGetOperator = cmdDuration.WithLabelValues("get_operator")
cmdDurationSplitRegions = cmdDuration.WithLabelValues("split_regions")
cmdDurationSplitAndScatterRegions = cmdDuration.WithLabelValues("split_and_scatter_regions")
cmdDurationLoadKeyspace = cmdDuration.WithLabelValues("load_keyspace")

cmdFailDurationGetRegion = cmdFailedDuration.WithLabelValues("get_region")
cmdFailDurationTSO = cmdFailedDuration.WithLabelValues("tso")
Expand All @@ -110,6 +111,7 @@ var (
cmdFailedDurationGetAllStores = cmdFailedDuration.WithLabelValues("get_all_stores")
cmdFailedDurationUpdateGCSafePoint = cmdFailedDuration.WithLabelValues("update_gc_safe_point")
cmdFailedDurationUpdateServiceGCSafePoint = cmdFailedDuration.WithLabelValues("update_service_gc_safe_point")
cmdFailedDurationLoadKeyspace = cmdDuration.WithLabelValues("load_keyspace")
requestDurationTSO = requestDuration.WithLabelValues("tso")
)

Expand Down
3 changes: 3 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ module github.com/tikv/pd

go 1.16

// TODO: Remove after kvproto merge
replace github.com/pingcap/kvproto => github.com/AmoebaProtozoa/kvproto v0.0.0-20220721101402-e48eba4cc8f7

require (
github.com/AlekSi/gocov-xml v1.0.0
github.com/BurntSushi/toml v0.3.1
Expand Down
13 changes: 2 additions & 11 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/AlekSi/gocov-xml v1.0.0 h1:4QctJBgXEkbzeKz6PJy6bt3JSPNSN4I2mITYW+eKUoQ=
github.com/AlekSi/gocov-xml v1.0.0/go.mod h1:J0qYeZ6tDg4oZubW9mAAgxlqw39PDfoEkzB3HXSbEuA=
github.com/AmoebaProtozoa/kvproto v0.0.0-20220721101402-e48eba4cc8f7 h1:l8MbmqS/q+3slfDRsFa3w0yTJbS+uSxgkZL9QOPzkJA=
github.com/AmoebaProtozoa/kvproto v0.0.0-20220721101402-e48eba4cc8f7/go.mod h1:OYtxs0786qojVTmkVeufx93xe+jUgm56GUYRIKnmaGI=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
Expand Down Expand Up @@ -178,10 +180,8 @@ github.com/goccy/go-graphviz v0.0.9 h1:s/FMMJ1Joj6La3S5ApO3Jk2cwM4LpXECC2muFx3IP
github.com/goccy/go-graphviz v0.0.9/go.mod h1:wXVsXxmyMQU6TN3zGRttjNn3h+iCAS7xQFC6TlNvLhk=
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v0.0.0-20180717141946-636bf0302bc9/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c=
Expand All @@ -195,7 +195,6 @@ github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4er
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef h1:veQD95Isof8w9/WXiA+pa3tz3fJXkt5B7QaRBrM62gk=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v0.0.0-20180814211427-aa810b61a9c7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
Expand Down Expand Up @@ -305,7 +304,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
Expand Down Expand Up @@ -414,10 +412,6 @@ github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c h1:xpW9bvK+HuuTm
github.com/pingcap/errors v0.11.5-0.20211224045212-9687c2b0f87c/go.mod h1:X2r9ueLEUZgtx2cIogM0v4Zj5uvvzhuuiu7Pn8HzMPg=
github.com/pingcap/failpoint v0.0.0-20200702092429-9f69995143ce h1:Y1kCxlCtlPTMtVcOkjUcuQKh+YrluSo7+7YMCQSzy30=
github.com/pingcap/failpoint v0.0.0-20200702092429-9f69995143ce/go.mod h1:w4PEZ5y16LeofeeGwdgZB4ddv9bLyDuIX+ljstgKZyk=
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-20220510035547-0e2f26c0a46a h1:TxdHGOFeNa1q1mVv6TgReayf26iI4F8PQUm6RnZ/V/E=
github.com/pingcap/kvproto v0.0.0-20220510035547-0e2f26c0a46a/go.mod h1:OYtxs0786qojVTmkVeufx93xe+jUgm56GUYRIKnmaGI=
github.com/pingcap/log v0.0.0-20191012051959-b742a5d432e9/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
github.com/pingcap/log v0.0.0-20200511115504-543df19646ad/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
github.com/pingcap/log v0.0.0-20210625125904-98ed8e2eb1c7/go.mod h1:8AanEdAHATuRurdGxZXBz0At+9avep+ub7U1AGYLIMM=
Expand Down Expand Up @@ -732,7 +726,6 @@ golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 h1:M73Iuj3xbbb9Uk1DYhzydths
golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
Expand Down Expand Up @@ -774,11 +767,9 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl
google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20181004005441-af9cb2a35e7f/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c h1:hrpEMCZ2O7DR5gC1n2AJGVhrwiEjOi35+jxtIuZpTMo=
google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/grpc v0.0.0-20180607172857-7a6a684ca69e/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
Expand Down
Loading