diff options
author | Larry Safran <lsafran@google.com> | 2024-05-08 17:14:36 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-08 17:14:36 -0700 |
commit | 1d2642924830418c79dabe39b1794ca4e4a120c6 (patch) | |
tree | 148421ee4ab9e9965162965e55b8c8244441c49a | |
parent | b7c606747282f9a300646b5ff9d2842df5f337e3 (diff) | |
download | grpc-grpc-java-upstream-v1.63.x.tar.gz |
Change HappyEyeballs and new pick first LB flags default value to false (1.63.x backport) (#11176)upstream-v1.63.x
* port PR 11120
* Revert backported changes that aren't relevant for v1.63.x
* Revert backported changes that aren't relevant for v1.63.x
6 files changed, 22 insertions, 12 deletions
diff --git a/core/src/main/java/io/grpc/internal/PickFirstLeafLoadBalancer.java b/core/src/main/java/io/grpc/internal/PickFirstLeafLoadBalancer.java index 16aa38228..b2105cb64 100644 --- a/core/src/main/java/io/grpc/internal/PickFirstLeafLoadBalancer.java +++ b/core/src/main/java/io/grpc/internal/PickFirstLeafLoadBalancer.java @@ -61,8 +61,6 @@ final class PickFirstLeafLoadBalancer extends LoadBalancer { private static final Logger log = Logger.getLogger(PickFirstLeafLoadBalancer.class.getName()); @VisibleForTesting static final int CONNECTION_DELAY_INTERVAL_MS = 250; - public static final String GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS = - "GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS"; private final Helper helper; private final Map<SocketAddress, SubchannelData> subchannels = new HashMap<>(); private Index addressIndex; @@ -73,7 +71,7 @@ final class PickFirstLeafLoadBalancer extends LoadBalancer { private ConnectivityState rawConnectivityState = IDLE; private ConnectivityState concludedState = IDLE; private final boolean enableHappyEyeballs = - GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, true); + PickFirstLoadBalancerProvider.isEnabledHappyEyeballs(); PickFirstLeafLoadBalancer(Helper helper) { this.helper = checkNotNull(helper, "helper"); diff --git a/core/src/main/java/io/grpc/internal/PickFirstLoadBalancerProvider.java b/core/src/main/java/io/grpc/internal/PickFirstLoadBalancerProvider.java index dd862fe70..ad33a0b84 100644 --- a/core/src/main/java/io/grpc/internal/PickFirstLoadBalancerProvider.java +++ b/core/src/main/java/io/grpc/internal/PickFirstLoadBalancerProvider.java @@ -33,10 +33,21 @@ import java.util.Map; * down the address list and sticks to the first that works. */ public final class PickFirstLoadBalancerProvider extends LoadBalancerProvider { + public static final String GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS = + "GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS"; private static final String SHUFFLE_ADDRESS_LIST_KEY = "shuffleAddressList"; static boolean enableNewPickFirst = - GrpcUtil.getFlag("GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST", true); + GrpcUtil.getFlag("GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST", false); + + public static boolean isEnabledHappyEyeballs() { + return GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, false); + } + + @VisibleForTesting + public static boolean isEnableNewPickFirst() { + return enableNewPickFirst; + } @Override public boolean isAvailable() { diff --git a/core/src/test/java/io/grpc/internal/PickFirstLeafLoadBalancerTest.java b/core/src/test/java/io/grpc/internal/PickFirstLeafLoadBalancerTest.java index 92222ac9a..eceb9500e 100644 --- a/core/src/test/java/io/grpc/internal/PickFirstLeafLoadBalancerTest.java +++ b/core/src/test/java/io/grpc/internal/PickFirstLeafLoadBalancerTest.java @@ -142,8 +142,8 @@ public class PickFirstLeafLoadBalancerTest { @Before public void setUp() { originalHappyEyeballsEnabledValue = - System.getProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS); - System.setProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, + System.getProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS); + System.setProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, enableHappyEyeballs ? "true" : "false"); for (int i = 1; i <= 5; i++) { @@ -173,9 +173,9 @@ public class PickFirstLeafLoadBalancerTest { @After public void tearDown() { if (originalHappyEyeballsEnabledValue == null) { - System.clearProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS); + System.clearProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS); } else { - System.setProperty(PickFirstLeafLoadBalancer.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, + System.setProperty(PickFirstLoadBalancerProvider.GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, originalHappyEyeballsEnabledValue); } diff --git a/xds/src/main/java/io/grpc/xds/XdsEndpointResource.java b/xds/src/main/java/io/grpc/xds/XdsEndpointResource.java index 770217bfb..0c7e8f46b 100644 --- a/xds/src/main/java/io/grpc/xds/XdsEndpointResource.java +++ b/xds/src/main/java/io/grpc/xds/XdsEndpointResource.java @@ -101,7 +101,7 @@ class XdsEndpointResource extends XdsResourceType<EdsUpdate> { } private static boolean isEnabledXdsDualStack() { - return GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, true); + return GrpcUtil.getFlag(GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS, false); } private static EdsUpdate processClusterLoadAssignment(ClusterLoadAssignment assignment) diff --git a/xds/src/test/java/io/grpc/xds/RingHashLoadBalancerTest.java b/xds/src/test/java/io/grpc/xds/RingHashLoadBalancerTest.java index d567dea3e..6d555b73e 100644 --- a/xds/src/test/java/io/grpc/xds/RingHashLoadBalancerTest.java +++ b/xds/src/test/java/io/grpc/xds/RingHashLoadBalancerTest.java @@ -445,7 +445,8 @@ public class RingHashLoadBalancerTest { PickResult result = pickerCaptor.getValue().pickSubchannel(args); assertThat(result.getStatus().isOk()).isTrue(); assertThat(result.getSubchannel()).isNull(); // buffer request - verify(getSubChannel(servers.get(1))).requestConnection(); // kicked off connection to server2 + // verify kicked off connection to server2 + verify(getSubChannel(servers.get(1))).requestConnection(); assertThat(subchannels.size()).isEqualTo(2); // no excessive connection deliverSubchannelState(getSubChannel(servers.get(1)), CSI_CONNECTING); diff --git a/xds/src/test/java/io/grpc/xds/WeightedRoundRobinLoadBalancerTest.java b/xds/src/test/java/io/grpc/xds/WeightedRoundRobinLoadBalancerTest.java index 63077ddcf..edff101d2 100644 --- a/xds/src/test/java/io/grpc/xds/WeightedRoundRobinLoadBalancerTest.java +++ b/xds/src/test/java/io/grpc/xds/WeightedRoundRobinLoadBalancerTest.java @@ -52,7 +52,7 @@ import io.grpc.LoadBalancer.SubchannelStateListener; import io.grpc.Status; import io.grpc.SynchronizationContext; import io.grpc.internal.FakeClock; -import io.grpc.internal.GrpcUtil; +import io.grpc.internal.PickFirstLoadBalancerProvider; import io.grpc.internal.TestUtils; import io.grpc.services.InternalCallMetricRecorder; import io.grpc.services.MetricReport; @@ -569,7 +569,7 @@ public class WeightedRoundRobinLoadBalancerTest { } private boolean isEnabledHappyEyeballs() { - return GrpcUtil.getFlag("GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS", true); + return PickFirstLoadBalancerProvider.isEnabledHappyEyeballs(); } @Test |