Skip to content

Commit b32466b

Browse files
committed
Change HappyEyeballs flag default value to false since some G3 users are seeing problems.
Put the flag logic in a common place for PickFirstLeafLoadBalancer & WRR's test.
1 parent 2bc4306 commit b32466b

File tree

5 files changed

+14
-10
lines changed

5 files changed

+14
-10
lines changed

core/src/main/java/io/grpc/internal/PickFirstLeafLoadBalancer.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@ final class PickFirstLeafLoadBalancer extends LoadBalancer {
5959
private static final Logger log = Logger.getLogger(PickFirstLeafLoadBalancer.class.getName());
6060
@VisibleForTesting
6161
static final int CONNECTION_DELAY_INTERVAL_MS = 250;
62-
public static final String GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS =
63-
"GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS";
6462
private final Helper helper;
6563
private final Map<SocketAddress, SubchannelData> subchannels = new HashMap<>();
6664
private Index addressIndex;
@@ -71,7 +69,7 @@ final class PickFirstLeafLoadBalancer extends LoadBalancer {
7169
private ConnectivityState rawConnectivityState = IDLE;
7270
private ConnectivityState concludedState = IDLE;
7371
private final boolean enableHappyEyeballs =
74-
GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, true);
72+
PickFirstLoadBalancerProvider.isEnabledHappyEyeballs();
7573

7674
PickFirstLeafLoadBalancer(Helper helper) {
7775
this.helper = checkNotNull(helper, "helper");

core/src/main/java/io/grpc/internal/PickFirstLoadBalancerProvider.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,17 @@
3333
* down the address list and sticks to the first that works.
3434
*/
3535
public final class PickFirstLoadBalancerProvider extends LoadBalancerProvider {
36+
public static final String GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS =
37+
"GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS";
3638
private static final String SHUFFLE_ADDRESS_LIST_KEY = "shuffleAddressList";
3739

3840
static boolean enableNewPickFirst =
3941
GrpcUtil.getFlag("GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST", true);
4042

43+
public static boolean isEnabledHappyEyeballs() {
44+
return GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, false);
45+
}
46+
4147
@Override
4248
public boolean isAvailable() {
4349
return true;

core/src/test/java/io/grpc/internal/PickFirstLeafLoadBalancerTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ public void uncaughtException(Thread t, Throwable e) {
142142
@Before
143143
public void setUp() {
144144
originalHappyEyeballsEnabledValue =
145-
System.getProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS);
146-
System.setProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS,
145+
System.getProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS);
146+
System.setProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS,
147147
enableHappyEyeballs ? "true" : "false");
148148

149149
for (int i = 1; i <= 5; i++) {
@@ -173,9 +173,9 @@ public void setUp() {
173173
@After
174174
public void tearDown() {
175175
if (originalHappyEyeballsEnabledValue == null) {
176-
System.clearProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS);
176+
System.clearProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS);
177177
} else {
178-
System.setProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS,
178+
System.setProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS,
179179
originalHappyEyeballsEnabledValue);
180180
}
181181

xds/src/main/java/io/grpc/xds/XdsEndpointResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ protected EdsUpdate doParse(Args args, Message unpackedMessage) throws ResourceI
101101
}
102102

103103
private static boolean isEnabledXdsDualStack() {
104-
return GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, true);
104+
return GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, false);
105105
}
106106

107107
private static EdsUpdate processClusterLoadAssignment(ClusterLoadAssignment assignment)

xds/src/test/java/io/grpc/xds/WeightedRoundRobinLoadBalancerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
import io.grpc.Status;
5757
import io.grpc.SynchronizationContext;
5858
import io.grpc.internal.FakeClock;
59-
import io.grpc.internal.GrpcUtil;
59+
import io.grpc.internal.PickFirstLoadBalancerProvider;
6060
import io.grpc.internal.TestUtils;
6161
import io.grpc.services.InternalCallMetricRecorder;
6262
import io.grpc.services.MetricReport;
@@ -580,7 +580,7 @@ weightedChild2.new OrcaReportListener(weightedConfig.errorUtilizationPenalty).on
580580
}
581581

582582
private boolean isEnabledHappyEyeballs() {
583-
return GrpcUtil.getFlag("GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS", true);
583+
return PickFirstLoadBalancerProvider.isEnabledHappyEyeballs();
584584
}
585585

586586
@Test

0 commit comments

Comments
 (0)