upgrade grpc to v1.73
From v1.66, WithRecvBufferPool has been renamed to WithBufferPool.
Besides, buffer pool is enabled by default. That is, the default buffer pool of client is changed from nopBufferPool to tieredBufferPool.
As this option was introduced in https://github.com/tikv/client-go/pull/1132, and not enabled in TiKV, we keep the old logic to use a NopBufferPool as default value.
Why upgrade grpc
Because we are using some expermential API that was already renamed. This will block those libraries that depend on this to use newer version of grpc. (And I found someone has already want to do this: https://github.com/tikv/client-go/pull/1672)
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign iosmanthus for approval. For more information see the Code Review Process. Please ensure that each of them provides their approval before proceeding.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
Welcome @joechenrh!
It looks like this is your first PR to tikv/client-go 🎉.
I'm the bot to help you request reviewers, add labels and more, See available commands.
We want to make sure your contribution gets all the attention it needs!
Thank you, and welcome to tikv/client-go. :smiley:
/hold
/ok-to-test
@joechenrh: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.
In response to this:
/ok-to-test
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
/unhold
/run-all-tests
Previously, grpc was upgraded to 1.64 and reverted (by https://github.com/tikv/client-go/pull/1369) due to errors in TiFlash regression tests. So I keep using old API DialContext here.
I've ran a test internally with this branch. The plan ID is 7972306, and you can check the result.
rpc error: code = DeadlineExceeded desc = received context error while waiting for new LB policy update: context deadline exceeded
rpc error: code = Unavailable desc = connection error: desc = \"transport: Error while dialing: dial tcp 10.200.86.26:3930: i/o timeout
(Although I suspect that error is not related to grpc API change because it seems like we couldn't connect to 10.200.86.26:3930. That is, the first mistake was the result, and the second mistake was the cause, as resolver didn't provide any address to LB.)
This would fix #1789, right?