Skip to content

Commit a5fac6f

Browse files
committed
grpc-js: pick-first: Fix short circuit READY subchannel handling
1 parent e804ad6 commit a5fac6f

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

packages/grpc-js/src/load-balancer-pick-first.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,8 @@ export class PickFirstLoadBalancer implements LoadBalancer {
485485
trace('connectToAddressList([' + addressList.map(address => subchannelAddressToString(address)) + '])');
486486
for (const { subchannel } of newChildrenList) {
487487
if (subchannel.getConnectivityState() === ConnectivityState.READY) {
488+
this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
489+
subchannel.addConnectivityStateListener(this.subchannelStateListener);
488490
this.pickSubchannel(subchannel);
489491
return;
490492
}
@@ -500,10 +502,6 @@ export class PickFirstLoadBalancer implements LoadBalancer {
500502
this.children = newChildrenList;
501503
for (const { subchannel } of this.children) {
502504
subchannel.addConnectivityStateListener(this.subchannelStateListener);
503-
if (subchannel.getConnectivityState() === ConnectivityState.READY) {
504-
this.pickSubchannel(subchannel);
505-
return;
506-
}
507505
}
508506
for (const child of this.children) {
509507
if (

0 commit comments

Comments
 (0)