Skip to content

Commit a905d89

Browse files
larry-safrantemawi
andauthored
core: de-expermentalize pick first config parsing (#10531) (#10742)
Co-authored-by: Terry Wilson <[email protected]>
1 parent d7c590f commit a905d89

File tree

2 files changed

+14
-31
lines changed

2 files changed

+14
-31
lines changed

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

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
package io.grpc.internal;
1818

19-
import com.google.common.annotations.VisibleForTesting;
20-
import com.google.common.base.Strings;
2119
import io.grpc.LoadBalancer;
2220
import io.grpc.LoadBalancerProvider;
2321
import io.grpc.NameResolver;
@@ -33,11 +31,7 @@
3331
* down the address list and sticks to the first that works.
3432
*/
3533
public final class PickFirstLoadBalancerProvider extends LoadBalancerProvider {
36-
private static final String NO_CONFIG = "no service config";
3734
private static final String SHUFFLE_ADDRESS_LIST_KEY = "shuffleAddressList";
38-
private static final String CONFIG_FLAG_NAME = "GRPC_EXPERIMENTAL_PICKFIRST_LB_CONFIG";
39-
@VisibleForTesting
40-
static boolean enablePickFirstConfig = !Strings.isNullOrEmpty(System.getenv(CONFIG_FLAG_NAME));
4135

4236
@Override
4337
public boolean isAvailable() {
@@ -62,18 +56,14 @@ public LoadBalancer newLoadBalancer(LoadBalancer.Helper helper) {
6256
@Override
6357
public ConfigOrError parseLoadBalancingPolicyConfig(
6458
Map<String, ?> rawLoadBalancingPolicyConfig) {
65-
if (enablePickFirstConfig) {
66-
try {
67-
return ConfigOrError.fromConfig(
68-
new PickFirstLoadBalancerConfig(JsonUtil.getBoolean(rawLoadBalancingPolicyConfig,
69-
SHUFFLE_ADDRESS_LIST_KEY)));
70-
} catch (RuntimeException e) {
71-
return ConfigOrError.fromError(
72-
Status.UNAVAILABLE.withCause(e).withDescription(
73-
"Failed parsing configuration for " + getPolicyName()));
74-
}
75-
} else {
76-
return ConfigOrError.fromConfig(NO_CONFIG);
59+
try {
60+
return ConfigOrError.fromConfig(
61+
new PickFirstLoadBalancerConfig(JsonUtil.getBoolean(rawLoadBalancingPolicyConfig,
62+
SHUFFLE_ADDRESS_LIST_KEY)));
63+
} catch (RuntimeException e) {
64+
return ConfigOrError.fromError(
65+
Status.UNAVAILABLE.withCause(e).withDescription(
66+
"Failed parsing configuration for " + getPolicyName()));
7767
}
7868
}
7969
}

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

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,40 +22,33 @@
2222
import io.grpc.internal.PickFirstLoadBalancer.PickFirstLoadBalancerConfig;
2323
import java.util.HashMap;
2424
import java.util.Map;
25-
import org.junit.After;
2625
import org.junit.Test;
2726
import org.junit.runner.RunWith;
2827
import org.junit.runners.JUnit4;
2928

3029
@RunWith(JUnit4.class)
3130
public class PickFirstLoadBalancerProviderTest {
3231

33-
@After
34-
public void resetConfigFlag() {
35-
PickFirstLoadBalancerProvider.enablePickFirstConfig = false;
36-
}
37-
3832
@Test
39-
public void parseWithConfigEnabled() {
40-
PickFirstLoadBalancerProvider.enablePickFirstConfig = true;
33+
public void parseWithConfig() {
4134
Map<String, Object> rawConfig = new HashMap<>();
4235
rawConfig.put("shuffleAddressList", true);
4336
ConfigOrError parsedConfig = new PickFirstLoadBalancerProvider().parseLoadBalancingPolicyConfig(
4437
rawConfig);
4538
PickFirstLoadBalancerConfig config = (PickFirstLoadBalancerConfig) parsedConfig.getConfig();
4639

4740
assertThat(config.shuffleAddressList).isTrue();
41+
assertThat(config.randomSeed).isNull();
4842
}
4943

5044
@Test
51-
public void parseWithConfigDisabled() {
52-
PickFirstLoadBalancerProvider.enablePickFirstConfig = false;
45+
public void parseWithoutConfig() {
5346
Map<String, Object> rawConfig = new HashMap<>();
54-
rawConfig.put("shuffleAddressList", true);
5547
ConfigOrError parsedConfig = new PickFirstLoadBalancerProvider().parseLoadBalancingPolicyConfig(
5648
rawConfig);
57-
String config = (String) parsedConfig.getConfig();
49+
PickFirstLoadBalancerConfig config = (PickFirstLoadBalancerConfig) parsedConfig.getConfig();
5850

59-
assertThat(config).isEqualTo("no service config");
51+
assertThat(config.shuffleAddressList).isNull();
52+
assertThat(config.randomSeed).isNull();
6053
}
6154
}

0 commit comments

Comments
 (0)