diff --git a/xds/internal/balancer/priority/balancer.go b/xds/internal/balancer/priority/balancer.go index d05ef18c287..b5cace68496 100644 --- a/xds/internal/balancer/priority/balancer.go +++ b/xds/internal/balancer/priority/balancer.go @@ -260,7 +260,7 @@ func (b *priorityBalancer) run() { b.handleChildStateUpdate(s.name, s.s) case resumePickerUpdates: b.inhibitPickerUpdates = false - b.syncPriority("") + b.syncPriority(b.childInUse) close(s.done) } b.mu.Unlock() diff --git a/xds/internal/balancer/priority/balancer_priority.go b/xds/internal/balancer/priority/balancer_priority.go index 33068709e29..c12dfe47ffe 100644 --- a/xds/internal/balancer/priority/balancer_priority.go +++ b/xds/internal/balancer/priority/balancer_priority.go @@ -69,6 +69,7 @@ var ( // Caller must hold b.mu. func (b *priorityBalancer) syncPriority(childUpdating string) { if b.inhibitPickerUpdates { + b.logger.Infof("Skipping update from child with name %q", childUpdating) return } for p, name := range b.priorities { @@ -84,7 +85,7 @@ func (b *priorityBalancer) syncPriority(childUpdating string) { (child.state.ConnectivityState == connectivity.Connecting && child.initTimer != nil) || p == len(b.priorities)-1 { if b.childInUse != child.name || child.name == childUpdating { - logger.Warningf("ciu, cn, cu: %v, %v, %v", b.childInUse, child.name, childUpdating) + b.logger.Warningf("childInUse, childUpdating: %q, %q", b.childInUse, child.name) // If we switch children or the child in use just updated its // picker, push the child's picker to the parent. b.cc.UpdateState(child.state) diff --git a/xds/internal/balancer/priority/balancer_test.go b/xds/internal/balancer/priority/balancer_test.go index ccf3a5edfc2..d3329378cd7 100644 --- a/xds/internal/balancer/priority/balancer_test.go +++ b/xds/internal/balancer/priority/balancer_test.go @@ -176,8 +176,6 @@ func (s) TestPriority_HighPriorityReady(t *testing.T) { } select { - case <-cc.NewPickerCh: - t.Fatalf("got unexpected new picker") case <-cc.NewSubConnCh: t.Fatalf("got unexpected new SubConn") case <-cc.RemoveSubConnCh: @@ -277,8 +275,6 @@ func (s) TestPriority_SwitchPriority(t *testing.T) { } select { - case <-cc.NewPickerCh: - t.Fatalf("got unexpected new picker") case sc := <-cc.NewSubConnCh: t.Fatalf("got unexpected new SubConn, %s", sc) case <-cc.RemoveSubConnCh: @@ -1194,8 +1190,6 @@ func (s) TestPriority_MoveReadyChildToHigherPriority(t *testing.T) { // Because this was a ready child moved to a higher priority, no new subconn // or picker should be updated. select { - case <-cc.NewPickerCh: - t.Fatalf("got unexpected new picker") case <-cc.NewSubConnCh: t.Fatalf("got unexpected new SubConn") case <-cc.RemoveSubConnCh: