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

[3.4] Upgrade grpc-go to 1.29.1 and Backport "Introduce grpc-1.30+ compatible client/v3/naming API." #16795

Merged
merged 1 commit into from
Oct 24, 2023

Conversation

chaochn47
Copy link
Member

@chaochn47 chaochn47 commented Oct 18, 2023

Part of #16740

Backport #12397 and #12614 as the first step..

Note: https://etcd.io/docs/v3.4/dev-guide/grpc_naming/ doc needs to be reflected before #16751 is cut.

This will upgrade gRPC to v1.29.1 and naming API change.

Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.

@chaochn47 chaochn47 force-pushed the release-3.4-grpc-update branch 2 times, most recently from f3bef24 to 459b3de Compare October 18, 2023 06:12
@ahrtr ahrtr changed the title [release-3.4] backport "Introduce grpc-1.30+ compatible client/v3/naming API." [3.4] Backport "Introduce grpc-1.30+ compatible client/v3/naming API." Oct 18, 2023
@ahrtr ahrtr changed the title [3.4] Backport "Introduce grpc-1.30+ compatible client/v3/naming API." [3.4] Upgrade grpc-to go 1.29.1 and Backport "Introduce grpc-1.30+ compatible client/v3/naming API." Oct 18, 2023
@ahrtr ahrtr changed the title [3.4] Upgrade grpc-to go 1.29.1 and Backport "Introduce grpc-1.30+ compatible client/v3/naming API." [3.4] Upgrade grpc-go to 1.29.1 and Backport "Introduce grpc-1.30+ compatible client/v3/naming API." Oct 18, 2023
@ahrtr ahrtr mentioned this pull request Oct 18, 2023
24 tasks
@chaochn47 chaochn47 marked this pull request as ready for review October 18, 2023 17:42
@chaochn47
Copy link
Member Author

chaochn47 commented Oct 18, 2023

Kindly ping @fuweid for a second eye to review it~

I updated the package path of naming and test package during cherry-pick.. Other than that, everything should be the same as the backported PRs.

This is not yet implementation, just API and tests to be filled
with implementation in next CLs,
tracked by: etcd-io#12652

We propose here 3 packages:
 - clientv3/naming/endpoints ->
    That is abstraction layer over etcd that allows to write, read &
    watch Endpoints information. It's independent from GRPC API. It hides
    the storage details.

 - clientv3/naming/endpoints/internal ->
    That contains the grpc's compatible Update class to preserve the
    internal JSON mashalling format.

 - clientv3/naming/resolver ->
   That implements the GRPC resolver API, such that etcd can be
   used for connection.Dial in grpc.

Please see the grpc_naming.md document changes & grpcproxy/cluster.go
new integration, to see how the new abstractions work.

Signed-off-by: Chao Chen <chaochn@amazon.com>
Copy link
Contributor

@fuweid fuweid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

test Show resolved Hide resolved
@chaochn47
Copy link
Member Author

chaochn47 commented Oct 20, 2023

@ahrtr
Copy link
Member

ahrtr commented Oct 20, 2023

ping @jmhbnz @serathius @wenjiaswe

Copy link
Member

@jmhbnz jmhbnz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - Just a question about the old test shell script below.

test Show resolved Hide resolved
@serathius serathius merged commit 3fd4988 into etcd-io:release-3.4 Oct 24, 2023
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants