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

Update docs and examples and tests to use NewClient instead of Dial #7068

Merged
merged 4 commits into from Apr 19, 2024

Conversation

silaselisha
Copy link
Contributor

@silaselisha silaselisha commented Mar 29, 2024

  • refactored tests and examples that utilized grpc.Dial to grpc.NewClient while some tests were left to use the deprecated grpc.Dial

RELEASE NOTES: none

Copy link

linux-foundation-easycla bot commented Mar 29, 2024

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: silaselisha / name: Elisha Silas (57b40ef)
  • ✅ login: dfawley / name: Doug Fawley (7a75182, 4a4bda6)
  • ✅ login: arvindbr8 / name: Arvind Bright (0417d12)

Copy link

codecov bot commented Mar 29, 2024

Codecov Report

Merging #7068 (77e8d97) into master (adf976b) will increase coverage by 1.12%.
Report is 14 commits behind head on master.
The diff coverage is n/a.

❗ Current head 77e8d97 differs from pull request most recent head 7a75182. Consider uploading reports for the commit 7a75182 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7068      +/-   ##
==========================================
+ Coverage   81.24%   82.36%   +1.12%     
==========================================
  Files         345      305      -40     
  Lines       33941    31389    -2552     
==========================================
- Hits        27574    25853    -1721     
+ Misses       5202     4464     -738     
+ Partials     1165     1072      -93     

see 66 files with indirect coverage changes

@arvindbr8
Copy link
Member

Nice work on the PR. Thanks for taking a look at this. However while grep-ing, I still see more usages of grpc.Dial. I think we should probably add all of that as part of this patchset

grep output
./Documentation/encoding.md:	myclient := grpc.Dial(ctx, target, grpc.WithDefaultCallOptions(grpc.CallContentSubtype("mycodec")))
./Documentation/encoding.md:	myclient := grpc.Dial(ctx, target, grpc.WithDefaultCallOptions(grpc.UseCompressor("gzip")))
./Documentation/grpc-auth-support.md:conn, err := grpc.Dial(serverAddr, grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")))
./Documentation/grpc-auth-support.md:conn, err := grpc.Dial(serverAddr, grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), grpc.WithPerRPCCredentials(oauth.NewComputeEngine()))
./Documentation/grpc-auth-support.md:conn, err := grpc.Dial(serverAddr, grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), grpc.WithPerRPCCredentials(jwtCreds))
./resolver_balancer_ext_test.go:	cc, err := grpc.Dial(name+":///", grpc.WithTransportCredentials(insecure.NewCredentials()))
./resolver_balancer_ext_test.go:	cc, err := grpc.Dial(name+":///", grpc.WithTransportCredentials(insecure.NewCredentials()))
./test/local_creds_test.go:		cc, err = grpc.Dial(lisAddr, grpc.WithTransportCredentials(local.NewCredentials()), grpc.WithContextDialer(
./test/creds_test.go:	cc, err := grpc.Dial(r.Scheme()+":///"+testAuthority, grpc.WithTransportCredentials(cred), grpc.WithResolvers(r))
./test/creds_test.go:	cc, err := grpc.Dial(r.Scheme()+":///"+testAuthority, grpc.WithTransportCredentials(cred), grpc.WithResolvers(r))
./test/creds_test.go:	cc, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(cred))
./test/balancer_switching_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/balancer_switching_test.go:	cc, err := grpc.Dial(target, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/balancer_switching_test.go:	cc, err := grpc.Dial(target, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/balancer_switching_test.go:	cc, err := grpc.Dial(target, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/balancer_switching_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/balancer_switching_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/balancer_switching_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/goaway_test.go:	cc, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
./test/clientconn_state_transition_test.go:	client, err := grpc.Dial("",
./test/clientconn_state_transition_test.go:	client, err := grpc.Dial(lis.Addr().String(),
./test/clientconn_state_transition_test.go:	client, err := grpc.Dial("whatever:///this-gets-overwritten",
./test/clientconn_state_transition_test.go:	client, err := grpc.Dial("whatever:///this-gets-overwritten",
./test/clientconn_state_transition_test.go:	cc, err := grpc.Dial(testResName+":///",
./test/authority_test.go:	cc, err := grpc.Dial(":"+port, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithContextDialer(func(ctx context.Context, addr string) (net.Conn, error) {
./test/roundrobin_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./test/pickfirst_test.go:	cc, err := grpc.Dial(lis.Addr().String(), dopts...)
./test/pickfirst_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./test/pickfirst_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./test/end2end_test.go:	te.cc, err = grpc.Dial(scheme+te.srvAddr, opts...)
./test/end2end_test.go:	te.cc, err = grpc.Dial(scheme+te.srvAddr, opts...)
./test/end2end_test.go:	cc, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
./test/end2end_test.go:	cc, err := grpc.Dial("passthrough:///"+lis.Addr().String(), grpc.WithTransportCredentials(&clientFailCreds{}))
./test/end2end_test.go:	cc, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
./test/end2end_test.go:	cc, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
./test/end2end_test.go:	cc, err := grpc.Dial(mr.Scheme()+":///", grpc.WithResolvers(mr), grpc.WithStatsHandler(sh), grpc.WithTransportCredentials(insecure.NewCredentials()))
./test/healthcheck_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", opts...)
./test/xds/xds_client_federation_test.go:	_, err = grpc.Dial(target, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(resolver))
./test/xds/xds_client_certificate_providers_test.go:	cc, err := grpc.Dial(fmt.Sprintf("xds:///%s", serviceName), grpc.WithTransportCredentials(creds), grpc.WithResolvers(resolverBuilder))
./test/resolver_update_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./test/resolver_update_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./dialoptions.go:// security is incompatible and will cause grpc.Dial() to fail.
./interop/grpclb_fallback/client_linux.go:	conn, err := grpc.Dial(*serverURI, opts...)
./interop/test_utils.go:		conn, err = grpc.Dial(serverAddr, dopts...)
./interop/observability/client/client.go:	conn, err := grpc.Dial(serverAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
./interop/http2/negative_http2_client.go:	conn, err := grpc.Dial(serverAddr, opts...)
./interop/alts/client/client.go:	conn, err := grpc.Dial(*serverAddr, grpc.WithTransportCredentials(altsTC), grpc.WithBlock())
./interop/xds_federation/client.go:		cc, err := grpc.Dial(uris[i], opts...)
./interop/xds/client/client.go:		conn, err := grpc.Dial(*server, grpc.WithTransportCredentials(creds))
./interop/client/client.go:	conn, err := grpc.Dial(serverAddr, opts...)
./interop/stress/metrics_client/main.go:	conn, err := grpc.Dial(*metricsServerAddress, grpc.WithTransportCredentials(insecure.NewCredentials()))
./interop/stress/client/main.go:	return grpc.Dial(address, opts...)
./admin/test/utils.go:	conn, err := grpc.Dial(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
./internal/idle/idle_e2e_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./internal/idle/idle_e2e_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./internal/idle/idle_e2e_test.go:			cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./internal/idle/idle_e2e_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./internal/idle/idle_e2e_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./internal/stubserver/stubserver.go:	cc, err := grpc.Dial(ss.Target, opts...)
./balancer/rls/control_channel.go:	ctrlCh.cc, err = grpc.Dial(rlsServerName, dopts...)
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///rls.test.example.com", grpc.WithResolvers(r), grpc.WithTransportCredentials(clientCreds))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///rls.test.example.com", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:			cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:	cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:			cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:			cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:			cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:			cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/rls/picker_test.go:			cc, err := grpc.Dial(r.Scheme()+":///", grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./balancer/grpclb/grpclb_test.go:	cc, err := grpc.Dial(r.Scheme()+":///"+beServerName, dopts...)
./balancer/grpclb/grpclb_test.go:	cc, err := grpc.Dial(r.Scheme()+":///"+beServerName, dopts...)
./balancer/grpclb/grpclb_test.go:	cc, err := grpc.Dial(r.Scheme()+":///"+beServerName, dopts...)
./balancer/grpclb/grpclb_test.go:	cc, err := grpc.Dial(r.Scheme()+":///"+beServerName,
./balancer/grpclb/grpclb_test.go:	cc, err := grpc.Dial(r.Scheme()+":///"+beServerName,
./balancer/grpclb/grpclb_remote_balancer.go:	cc, err := grpc.Dial(target, dopts...)
./profiling/cmd/remote.go:	cc, err := grpc.Dial(*flagAddress, grpc.WithTransportCredentials(insecure.NewCredentials()))
./examples/gotutorial.md:To call service methods, we first need to create a gRPC *channel* to communicate with the server. We create this by passing the server address and port number to `grpc.Dial()` as follows:
./examples/gotutorial.md:conn, err := grpc.Dial(*serverAddr)
./examples/helloworld/greeter_client/main.go:	conn, err := grpc.Dial(*addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
./examples/features/retry/README.md:conn, err := grpc.Dial(ctx,grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithDefaultServiceConfig(retryPolicy))
./examples/features/health/README.md:conn, err := grpc.Dial(..., serviceConfig)
./examples/features/observability/client/main.go:	conn, err := grpc.Dial(*addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
./examples/route_guide/client/client.go:	conn, err := grpc.Dial(*serverAddr, opts...)
./xds/internal/test/e2e/e2e.go:	cc, err := grpc.Dial(fmt.Sprintf("localhost:%d", clientStatsPort), grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithDefaultCallOptions(grpc.WaitForReady(true)))
./xds/internal/balancer/clusterresolver/e2e_test/aggregate_cluster_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/eds_impl_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/eds_impl_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/eds_impl_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/eds_impl_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/eds_impl_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/eds_impl_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/clusterresolver/e2e_test/eds_impl_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/ringhash/e2e/ringhash_balancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.server", dopts...)
./xds/internal/balancer/cdsbalancer/cdsbalancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/cdsbalancer/cdsbalancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/cdsbalancer/cdsbalancer_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithResolvers(r))
./xds/internal/balancer/cdsbalancer/cdsbalancer_security_test.go:	cc, err := grpc.Dial(r.Scheme()+":///test.service", grpc.WithTransportCredentials(clientCreds), grpc.WithResolvers(r))
./xds/googledirectpath/googlec2p_test.go:	cc, err := grpc.Dial(uri, grpc.WithTransportCredentials(insecure.NewCredentials()))
./stats/opencensus/opencensus.go:// grpc.Dial().
./stats/stats_test.go:	te.cc, err = grpc.Dial(te.srvAddr, opts...)
./resolver/manual/manual_test.go:		_, err := grpc.Dial("whatever://localhost",
./orca/producer_test.go:	cc, err := grpc.Dial("whatever:///whatever", grpc.WithDefaultServiceConfig(`{"loadBalancingConfig": [{"customLB":{}}]}`), grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./orca/producer_test.go:	cc, err := grpc.Dial("whatever:///whatever", grpc.WithDefaultServiceConfig(`{"loadBalancingConfig": [{"customLB":{}}]}`), grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./orca/producer_test.go:	cc, err := grpc.Dial("whatever:///whatever", grpc.WithDefaultServiceConfig(`{"loadBalancingConfig": [{"customLB":{}}]}`), grpc.WithResolvers(r), grpc.WithTransportCredentials(insecure.NewCredentials()))
./credentials/insecure/insecure.go:// transport security is incompatible and will cause grpc.Dial() to fail.

@silaselisha
Copy link
Contributor Author

@arvindbr8 a polite request for clarity on Testing, Attempt #2 / tests (extras, 1.22) failing. I'll be more than happy to redo the task.

@arvindbr8
Copy link
Member

@silaselisha -- Thanks for bringing that issue to our notice. Seems like there is a bug in NewClient that is causing a regression. Investigating it here

@arvindbr8
Copy link
Member

But that shouldn't necessarily block your PR

@silaselisha
Copy link
Contributor Author

@arvindbr8 I'll look into issue your raised, to learn the dynamics of the grpc.NewClient

@arvindbr8
Copy link
Member

I turned up the logs with GRPC_GO_LOG_SEVERITY_LEVEL=info GRPC_GO_LOG_VERBOSITY_LEVEL=99 and noticed that the orcaLB that is passed in the test is asserting that the len(addrs) == 1 here:

addrs := ccs.ResolverState.Addresses
if len(addrs) != 1 {
return fmt.Errorf("orcaLB: expected 1 address; received: %v", addrs)
}

In the case of the Github VM (and in my local machine) the dns resolver returned both the ipv6 and ipv4 address.

It's unclear why we need that since the example should work even if there are more addresses. I would just remove that conditional in UpdateClientConnState method in orcaLB

@silaselisha
Copy link
Contributor Author

@arvindbr8 if both ipv4 and ipv6 are returned, is it possible to just change the condition to len(addrs) != 2? And are there instances where one ip version will be expected?

@arvindbr8
Copy link
Member

Its not deterministic because it depends on the machine you run the test in and the ENI(s) configured. I would just get rid of the conditional there.

@silaselisha
Copy link
Contributor Author

silaselisha commented Apr 2, 2024

@arvindbr8 since grpc.DialWithContext is deprecated too, will it be right for its changes to be part of this PR?

@arvindbr8
Copy link
Member

Sure. I'm also okay even if we decide to do this in increments.

Copy link

This PR is labeled as requiring an update from the reporter, and no update has been received after 6 days. If no update is provided in the next 7 days, this issue will be automatically closed.

@github-actions github-actions bot added stale and removed stale labels Apr 10, 2024
@silaselisha
Copy link
Contributor Author

@arvindbr8 a polite request you review this issue here.

@ginayeh ginayeh assigned arvindbr8 and unassigned silaselisha Apr 10, 2024
@ginayeh ginayeh requested review from arvindbr8 and removed request for Tura187 April 10, 2024 17:31
@grpc grpc deleted a comment Apr 10, 2024
@arvindbr8
Copy link
Member

@silaselisha -- Seems like maybe you didnt push your branch to remote? I'm not seeing a new commit after the last review. I'm particular about this comment which would help satisfy Testing (extras) /orca example

@arvindbr8 arvindbr8 assigned silaselisha and unassigned arvindbr8 Apr 10, 2024
@arvindbr8 arvindbr8 added this to the 1.64 Release milestone Apr 10, 2024
@grpc grpc deleted a comment Apr 10, 2024
@silaselisha
Copy link
Contributor Author

I don't mind including that piece in this PR, I am working on the missing piece, and I'll push the changes asp.

@silaselisha
Copy link
Contributor Author

silaselisha commented Apr 15, 2024

@arvindbr8 I made the necessary changes but I now the PR it has more unnecessary commits

@dfawley
Copy link
Member

dfawley commented Apr 15, 2024

Something is wrong with your fork's git repo, apparently. If you can't figure it out, worst case: you can make a new directory and (assuming upstream is github.com/grpc/grpc-go): get fetch upstream; git reset --hard upstream/master, then cp -rf from the old directory into the new directory.

examples/features/orca/client/main.go Outdated Show resolved Hide resolved
Documentation/anti-patterns.md Outdated Show resolved Hide resolved
Documentation/anti-patterns.md Outdated Show resolved Hide resolved
Documentation/anti-patterns.md Outdated Show resolved Hide resolved
Documentation/anti-patterns.md Outdated Show resolved Hide resolved
Documentation/anti-patterns.md Outdated Show resolved Hide resolved
Documentation/anti-patterns.md Outdated Show resolved Hide resolved
Documentation/anti-patterns.md Show resolved Hide resolved
@arvindbr8
Copy link
Member

@silaselisha -- I've addressed my comments and pushed a new commit to your branch. I think it looks good now. Per policy we would want one more review on the PR from our maintainers. cc: @zasweq, could you please take a pass at the documentation update and the other diffs

arvindbr8
arvindbr8 previously approved these changes Apr 17, 2024
@zasweq zasweq assigned aranjans and unassigned zasweq Apr 18, 2024
@zasweq zasweq requested a review from aranjans April 18, 2024 00:50
@zasweq
Copy link
Contributor

zasweq commented Apr 18, 2024

Giving to Abhishek since he's on call.

@aranjans
Copy link
Contributor

LGTM!

@dfawley dfawley dismissed arvindbr8’s stale review April 19, 2024 17:35

review my edits pls

@arvindbr8
Copy link
Member

Thanks for the PR @silaselisha.

@arvindbr8 arvindbr8 merged commit 09e6fdd into grpc:master Apr 19, 2024
12 checks passed
AnomalRoil pushed a commit to AnomalRoil/grpc-go that referenced this pull request Apr 24, 2024
…rpc#7068)

Co-authored-by: Arvind Bright <arvind.bright100@gmail.com>
Co-authored-by: Doug Fawley <dfawley@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Meta Github repo, process, etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants