Skip to content

Commit 4e9363a

Browse files
committed
Fixup: Use GrpcUtil for flag retrieval and address other minor comments
1 parent d76e770 commit 4e9363a

File tree

3 files changed

+13
-22
lines changed

3 files changed

+13
-22
lines changed

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@
8989
* See related documentation: https://cloud.google.com/service-mesh/legacy/load-balancing-apis/proxyless-configure-advanced-traffic-management#custom-lb-config
9090
*/
9191
final class WeightedRoundRobinLoadBalancer extends MultiChildLoadBalancer {
92-
@VisibleForTesting
93-
static boolean enableCustomConfig =
94-
Boolean.parseBoolean(System.getenv("GRPC_EXPERIMENTAL_WRR_CUSTOM_METRICS"));
9592

9693
private static final LongCounterMetricInstrument RR_FALLBACK_COUNTER;
9794
private static final LongCounterMetricInstrument ENDPOINT_WEIGHT_NOT_YET_USEABLE_COUNTER;
@@ -335,8 +332,7 @@ public OrcaReportListener getOrCreateOrcaListener(float errorUtilizationPenalty,
335332
ImmutableList<String> metricNamesForComputingUtilization) {
336333
if (orcaReportListener != null
337334
&& orcaReportListener.errorUtilizationPenalty == errorUtilizationPenalty
338-
&& Objects.equals(orcaReportListener.metricNamesForComputingUtilization,
339-
metricNamesForComputingUtilization)) {
335+
&& orcaReportListener.metricNamesForComputingUtilization.equals(metricNamesForComputingUtilization)) {
340336
return orcaReportListener;
341337
}
342338
orcaReportListener =

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.grpc.LoadBalancerProvider;
2525
import io.grpc.NameResolver.ConfigOrError;
2626
import io.grpc.Status;
27+
import io.grpc.internal.GrpcUtil;
2728
import io.grpc.internal.JsonUtil;
2829
import io.grpc.xds.WeightedRoundRobinLoadBalancer.WeightedRoundRobinLoadBalancerConfig;
2930
import java.util.List;
@@ -105,10 +106,9 @@ private ConfigOrError parseLoadBalancingPolicyConfigInternal(Map<String, ?> rawC
105106
if (errorUtilizationPenalty != null) {
106107
configBuilder.setErrorUtilizationPenalty(errorUtilizationPenalty);
107108
}
108-
if (metricNamesForComputingUtilization != null) {
109-
if (WeightedRoundRobinLoadBalancer.enableCustomConfig) {
110-
configBuilder.setMetricNamesForComputingUtilization(metricNamesForComputingUtilization);
111-
}
109+
if (metricNamesForComputingUtilization != null
110+
&& GrpcUtil.getFlag("GRPC_EXPERIMENTAL_WRR_CUSTOM_METRICS", false)) {
111+
configBuilder.setMetricNamesForComputingUtilization(metricNamesForComputingUtilization);
112112
}
113113
return ConfigOrError.fromConfig(configBuilder.build());
114114
}

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

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -113,19 +113,14 @@ public void parseLoadBalancingConfigDefaultValues() throws IOException {
113113

114114
@Test
115115
public void parseLoadBalancingConfigCustomMetrics() throws IOException {
116-
boolean originalEnableCustomConfig = WeightedRoundRobinLoadBalancer.enableCustomConfig;
117-
WeightedRoundRobinLoadBalancer.enableCustomConfig = true;
118-
try {
119-
String lbConfig = "{\"metricNamesForComputingUtilization\" : [\"foo\", \"bar\"]}";
120-
ConfigOrError configOrError = provider.parseLoadBalancingPolicyConfig(
121-
parseJsonObject(lbConfig));
122-
assertThat(configOrError.getConfig()).isNotNull();
123-
WeightedRoundRobinLoadBalancerConfig config =
124-
(WeightedRoundRobinLoadBalancerConfig) configOrError.getConfig();
125-
assertThat(config.metricNamesForComputingUtilization).containsExactly("foo", "bar");
126-
} finally {
127-
WeightedRoundRobinLoadBalancer.enableCustomConfig = originalEnableCustomConfig;
128-
}
116+
System.setProperty("GRPC_EXPERIMENTAL_WRR_CUSTOM_METRICS", "true");
117+
String lbConfig = "{\"metricNamesForComputingUtilization\" : [\"foo\", \"bar\"]}";
118+
ConfigOrError configOrError = provider.parseLoadBalancingPolicyConfig(
119+
parseJsonObject(lbConfig));
120+
assertThat(configOrError.getConfig()).isNotNull();
121+
WeightedRoundRobinLoadBalancerConfig config =
122+
(WeightedRoundRobinLoadBalancerConfig) configOrError.getConfig();
123+
assertThat(config.metricNamesForComputingUtilization).containsExactly("foo", "bar");
129124
}
130125

131126

0 commit comments

Comments
 (0)