-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
tikv: fix "Got too many pings" GRPC error in PD-server follower #17885
Conversation
Codecov Report
@@ Coverage Diff @@
## master #17885 +/- ##
================================================
- Coverage 79.5047% 79.4261% -0.0787%
================================================
Files 524 524
Lines 142160 141923 -237
================================================
- Hits 113024 112724 -300
- Misses 20006 20064 +58
- Partials 9130 9135 +5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
LGTM |
There are multiple |
And in TiKV server-side, |
@HunDunDM updated = = |
/merge |
Sorry @jackysp, you don't have permission to trigger auto merge event on this branch. You are not a committer for this part |
/merge |
/run-all-tests |
@lysu merge failed. |
Maybe we can enable |
/merge |
Signed-off-by: sre-bot <sre-bot@pingcap.com>
cherry pick to release-3.0 in PR #17944 |
Signed-off-by: sre-bot <sre-bot@pingcap.com>
cherry pick to release-3.1 in PR #17946 |
@@ -674,9 +674,8 @@ func (do *Domain) Init(ddlLease time.Duration, sysFactory func(*Domain) (pools.R | |||
DialOptions: []grpc.DialOption{ | |||
grpc.WithBackoffMaxDelay(time.Second * 3), | |||
grpc.WithKeepaliveParams(keepalive.ClientParameters{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is better to use DialKeepAliveTime
and DialKeepAliveTimeout
directly in clientv3.Config
instead of grpc.WithKeepaliveParams
. Just like kv.go
.
Signed-off-by: sre-bot <sre-bot@pingcap.com>
cherry pick to release-4.0 in PR #17947 |
…) (#17947) Signed-off-by: sre-bot <sre-bot@pingcap.com> Co-authored-by: lysu <sulifx@gmail.com>
By setting "PermitWithoutStream" to false, configurations are consistent between server(pd) and client(br) side. Already fixed in tidb: pingcap/tidb#17885
By setting "PermitWithoutStream" to false, configurations are consistent between server(pd) and client(br) side. Already fixed in tidb: pingcap/tidb#17885
By setting "PermitWithoutStream" to false, configurations are consistent between server(pd) and client(br) side. Already fixed in tidb: pingcap/tidb#17885
By setting "PermitWithoutStream" to false, configurations are consistent between server(pd) and client(br) side. Already fixed in tidb: pingcap/tidb#17885
By setting "PermitWithoutStream" to false, configurations are consistent between server(pd) and client(br) side. Already fixed in tidb: pingcap/tidb#17885 Co-authored-by: can <can@canx.me>
By setting "PermitWithoutStream" to false, configurations are consistent between server(pd) and client(br) side. Already fixed in tidb: pingcap/tidb#17885 Co-authored-by: can <can@canx.me>
…) (#17946) Signed-off-by: sre-bot <sre-bot@pingcap.com>
What problem does this PR solve?
Issue Number: close #17870
Problem Summary:
In PD(etcd) server side,
PermitWithoutStream
values isfalse
https://github.com/etcd-io/etcd/blob/master/embed/etcd.go#L641, meansbut in TiDB client side,
PermitWithoutStream
values istrue
meansso, with those conflict configuration, grpc server side will count pingStrike with wrong value.
https://github.com/grpc/grpc-go/blob/master/internal/transport/http2_server.go#L711
and report "transport: Got too many pings from the client, closing the connection." error.
What is changed and how it works?
What's Changed, How it Works:
we need keep them both as true or false, but etcd write it with magic value(false)
so we only can change tidb-side to false
Related changes
Check List
Tests
Side effects
Release note
This change is