From 2821d85f9e8b74e3c3cf79284510b78014f429b6 Mon Sep 17 00:00:00 2001 From: Mahdi Dibaiee Date: Wed, 15 Nov 2023 12:36:22 +0000 Subject: [PATCH] dispatcher: migrate to SubConn.Shutdown and deprecate Addresses See https://github.com/grpc/grpc-go/pull/6471/files and https://github.com/grpc/grpc-go/pull/6493/files --- broker/protocol/dispatcher.go | 4 ++-- broker/protocol/dispatcher_test.go | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/broker/protocol/dispatcher.go b/broker/protocol/dispatcher.go index cbf92004..830d8ac4 100644 --- a/broker/protocol/dispatcher.go +++ b/broker/protocol/dispatcher.go @@ -293,10 +293,10 @@ func (d *dispatcher) sweep() { d.mu.Unlock() for _, sc := range toSweep { - // RemoveSubConn begins SubConn shutdown. We expect to see a + // SubConn.Shutdown begins a shutdown. We expect to see a // HandleSubConnStateChange with connectivity.Shutdown, at which // point we'll de-index it. - d.cc.RemoveSubConn(sc) + sc.Shutdown() } } diff --git a/broker/protocol/dispatcher_test.go b/broker/protocol/dispatcher_test.go index bc871359..c6ced1b1 100644 --- a/broker/protocol/dispatcher_test.go +++ b/broker/protocol/dispatcher_test.go @@ -62,7 +62,7 @@ func (s *DispatcherSuite) TestDispatchCases(c *gc.C) { cc.created = nil // Case: Default connection transitions to Ready. Expect it's now returned. - mockSubConn("default.addr").UpdateState(balancer.SubConnState{ConnectivityState: connectivity.Ready}) + mockSubConn("default.addr").UpdateState(balancer.SubConnState{ConnectivityState: connectivity.Ready}) result, err := disp.Pick(balancer.PickInfo{Ctx: ctx}) c.Check(err, gc.IsNil) @@ -71,7 +71,7 @@ func (s *DispatcherSuite) TestDispatchCases(c *gc.C) { // Case: Specific remote peer is dispatched to. ctx = WithDispatchRoute(context.Background(), - buildRouteFixture(), ProcessSpec_ID{Zone: "remote", Suffix: "primary"}) + buildRouteFixture(), ProcessSpec_ID{Zone: "remote", Suffix: "primary"}) result, err = disp.Pick(balancer.PickInfo{Ctx: ctx}) c.Check(err, gc.Equals, balancer.ErrNoSubConnAvailable) @@ -129,7 +129,7 @@ func (s *DispatcherSuite) TestDispatchCases(c *gc.C) { mockSubConn("remote.addr").UpdateState(balancer.SubConnState{ConnectivityState: connectivity.TransientFailure}) ctx = WithDispatchRoute(context.Background(), - buildRouteFixture(), ProcessSpec_ID{Zone: "remote", Suffix: "primary"}) + buildRouteFixture(), ProcessSpec_ID{Zone: "remote", Suffix: "primary"}) _, err = disp.Pick(balancer.PickInfo{Ctx: ctx}) c.Check(err, gc.Equals, balancer.ErrTransientFailure) @@ -239,10 +239,10 @@ type mockClientConn struct { type mockSubConn string -func (s mockSubConn) UpdateAddresses([]resolver.Address) {} +func (s mockSubConn) UpdateAddresses([]resolver.Address) { panic("deprecated") } func (s mockSubConn) Connect() {} func (s mockSubConn) GetOrBuildProducer(balancer.ProducerBuilder) (balancer.Producer, func()) { - return nil, func() {} + return nil, func() {} } func (s mockSubConn) Shutdown() {} @@ -253,10 +253,10 @@ func (c *mockClientConn) NewSubConn(a []resolver.Address, _ balancer.NewSubConnO } func (c *mockClientConn) RemoveSubConn(sc balancer.SubConn) { - c.removed = append(c.removed, sc.(mockSubConn)) + panic("deprecated") } -func (c *mockClientConn) UpdateAddresses(balancer.SubConn, []resolver.Address) {} +func (c *mockClientConn) UpdateAddresses(balancer.SubConn, []resolver.Address) { panic("deprecated") } func (c *mockClientConn) UpdateState(balancer.State) {} func (c *mockClientConn) ResolveNow(resolver.ResolveNowOptions) {} func (c *mockClientConn) Target() string { return "default.addr" }