Skip to content

Commit 517ffef

Browse files
committed
Revert "enable child channel plugins (grpc#12578)"
This reverts commit 89aef90.
1 parent bc01994 commit 517ffef

34 files changed

Lines changed: 33 additions & 1214 deletions

api/src/main/java/io/grpc/ChannelConfigurator.java

Lines changed: 0 additions & 71 deletions
This file was deleted.

api/src/main/java/io/grpc/ForwardingChannelBuilder.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -242,13 +242,6 @@ public T disableServiceConfigLookUp() {
242242
return thisT();
243243
}
244244

245-
246-
@Override
247-
public T childChannelConfigurator(ChannelConfigurator channelConfigurator) {
248-
delegate().childChannelConfigurator(channelConfigurator);
249-
return thisT();
250-
}
251-
252245
/**
253246
* Returns the correctly typed version of the builder.
254247
*/

api/src/main/java/io/grpc/ForwardingChannelBuilder2.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -269,13 +269,6 @@ public <X> T setNameResolverArg(NameResolver.Args.Key<X> key, X value) {
269269
return thisT();
270270
}
271271

272-
273-
@Override
274-
public T childChannelConfigurator(ChannelConfigurator channelConfigurator) {
275-
delegate().childChannelConfigurator(channelConfigurator);
276-
return thisT();
277-
}
278-
279272
/**
280273
* Returns the {@link ManagedChannel} built by the delegate by default. Overriding method can
281274
* return different value.

api/src/main/java/io/grpc/ManagedChannelBuilder.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -666,23 +666,6 @@ public <X> T setNameResolverArg(NameResolver.Args.Key<X> key, X value) {
666666
throw new UnsupportedOperationException();
667667
}
668668

669-
670-
/**
671-
* Sets a configurator that will be applied to all internal child channels created by this
672-
* channel.
673-
*
674-
* <p>This allows injecting universal configuration (like interceptors)
675-
* into auxiliary channels created by gRPC infrastructure, such as xDS control plane connections.
676-
*
677-
* @param channelConfigurator the configurator to apply.
678-
* @return this
679-
* @since 1.83.0
680-
*/
681-
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/12574")
682-
public T childChannelConfigurator(ChannelConfigurator channelConfigurator) {
683-
throw new UnsupportedOperationException("Not implemented");
684-
}
685-
686669
/**
687670
* Builds a channel using the given parameters.
688671
*

api/src/main/java/io/grpc/NameResolver.java

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,6 @@ public static final class Args {
358358
private final MetricRecorder metricRecorder;
359359
@Nullable private final NameResolverRegistry nameResolverRegistry;
360360
@Nullable private final IdentityHashMap<Key<?>, Object> customArgs;
361-
private final ChannelConfigurator channelConfigurator;
362361

363362
private Args(Builder builder) {
364363
this.defaultPort = checkNotNull(builder.defaultPort, "defaultPort not set");
@@ -374,7 +373,6 @@ private Args(Builder builder) {
374373
: new MetricRecorder() {};
375374
this.nameResolverRegistry = builder.nameResolverRegistry;
376375
this.customArgs = cloneCustomArgs(builder.customArgs);
377-
this.channelConfigurator = builder.channelConfigurator;
378376
}
379377

380378
/**
@@ -473,16 +471,6 @@ public ChannelLogger getChannelLogger() {
473471
return channelLogger;
474472
}
475473

476-
/**
477-
* Returns the configurator for child channels.
478-
*
479-
* @since 1.83.0
480-
*/
481-
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/12574")
482-
public ChannelConfigurator getChildChannelConfigurator() {
483-
return channelConfigurator;
484-
}
485-
486474
/**
487475
* Returns the Executor on which this resolver should execute long-running or I/O bound work.
488476
* Null if no Executor was set.
@@ -561,7 +549,6 @@ public Builder toBuilder() {
561549
builder.setOverrideAuthority(overrideAuthority);
562550
builder.setMetricRecorder(metricRecorder);
563551
builder.setNameResolverRegistry(nameResolverRegistry);
564-
builder.setChildChannelConfigurator(channelConfigurator);
565552
builder.customArgs = cloneCustomArgs(customArgs);
566553
return builder;
567554
}
@@ -592,7 +579,6 @@ public static final class Builder {
592579
private MetricRecorder metricRecorder;
593580
private NameResolverRegistry nameResolverRegistry;
594581
private IdentityHashMap<Key<?>, Object> customArgs;
595-
private ChannelConfigurator channelConfigurator = builder -> { };
596582

597583
Builder() {
598584
}
@@ -708,17 +694,6 @@ public Builder setNameResolverRegistry(NameResolverRegistry registry) {
708694
return this;
709695
}
710696

711-
/**
712-
* See {@link Args#getChildChannelConfigurator()}. This is an optional field.
713-
*
714-
* @since 1.83.0
715-
*/
716-
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/12574")
717-
public Builder setChildChannelConfigurator(ChannelConfigurator channelConfigurator) {
718-
this.channelConfigurator = checkNotNull(channelConfigurator, "channelConfigurator");
719-
return this;
720-
}
721-
722697
/**
723698
* Builds an {@link Args}.
724699
*

api/src/test/java/io/grpc/NameResolverTest.java

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import static org.mockito.Mockito.verify;
2323

2424
import com.google.common.base.Objects;
25-
import io.grpc.ChannelConfigurator;
2625
import io.grpc.NameResolver.ConfigOrError;
2726
import io.grpc.NameResolver.Listener2;
2827
import io.grpc.NameResolver.ResolutionResult;
@@ -73,8 +72,6 @@ public class NameResolverTest {
7372
private final int customArgValue = 42;
7473
@Mock NameResolver.Listener mockListener;
7574

76-
private final ChannelConfigurator channelConfigurator = builder -> { };
77-
7875
@Test
7976
public void args() {
8077
NameResolver.Args args = createArgs();
@@ -87,7 +84,6 @@ public void args() {
8784
assertThat(args.getOffloadExecutor()).isSameInstanceAs(executor);
8885
assertThat(args.getOverrideAuthority()).isSameInstanceAs(overrideAuthority);
8986
assertThat(args.getMetricRecorder()).isSameInstanceAs(metricRecorder);
90-
assertThat(args.getChildChannelConfigurator()).isSameInstanceAs(channelConfigurator);
9187
assertThat(args.getArg(FOO_ARG_KEY)).isEqualTo(customArgValue);
9288
assertThat(args.getArg(BAR_ARG_KEY)).isNull();
9389

@@ -101,7 +97,6 @@ public void args() {
10197
assertThat(args2.getOffloadExecutor()).isSameInstanceAs(executor);
10298
assertThat(args2.getOverrideAuthority()).isSameInstanceAs(overrideAuthority);
10399
assertThat(args.getMetricRecorder()).isSameInstanceAs(metricRecorder);
104-
assertThat(args2.getChildChannelConfigurator()).isSameInstanceAs(channelConfigurator);
105100
assertThat(args.getArg(FOO_ARG_KEY)).isEqualTo(customArgValue);
106101
assertThat(args.getArg(BAR_ARG_KEY)).isNull();
107102

@@ -120,47 +115,10 @@ private NameResolver.Args createArgs() {
120115
.setOffloadExecutor(executor)
121116
.setOverrideAuthority(overrideAuthority)
122117
.setMetricRecorder(metricRecorder)
123-
.setChildChannelConfigurator(channelConfigurator)
124118
.setArg(FOO_ARG_KEY, customArgValue)
125119
.build();
126120
}
127121

128-
@Test
129-
public void args_childChannelConfigurator() {
130-
final ManagedChannelBuilder<?>[] capturedBuilder = new ManagedChannelBuilder<?>[1];
131-
ChannelConfigurator channelConfigurator = new ChannelConfigurator() {
132-
@Override
133-
public void configureChannelBuilder(ManagedChannelBuilder<?> builder) {
134-
capturedBuilder[0] = builder;
135-
}
136-
};
137-
138-
SynchronizationContext realSyncContext = new SynchronizationContext(
139-
new Thread.UncaughtExceptionHandler() {
140-
@Override
141-
public void uncaughtException(Thread t, Throwable e) {
142-
throw new AssertionError(e);
143-
}
144-
});
145-
146-
NameResolver.Args args = NameResolver.Args.newBuilder()
147-
.setDefaultPort(8080)
148-
.setProxyDetector(mock(ProxyDetector.class))
149-
.setSynchronizationContext(realSyncContext)
150-
.setServiceConfigParser(mock(NameResolver.ServiceConfigParser.class))
151-
.setChannelLogger(mock(ChannelLogger.class))
152-
.setChildChannelConfigurator(channelConfigurator)
153-
.build();
154-
155-
ChannelConfigurator configurator = args.getChildChannelConfigurator();
156-
assertThat(configurator).isSameInstanceAs(channelConfigurator);
157-
158-
// Validate configurator accepts builders
159-
ManagedChannelBuilder<?> mockBuilder = mock(ManagedChannelBuilder.class);
160-
configurator.configureChannelBuilder(mockBuilder);
161-
assertThat(capturedBuilder[0]).isSameInstanceAs(mockBuilder);
162-
}
163-
164122
@Test
165123
@SuppressWarnings("deprecation")
166124
public void startOnOldListener_wrapperListener2UsedToStart() {

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

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import io.grpc.CallCredentials;
3838
import io.grpc.CallOptions;
3939
import io.grpc.Channel;
40-
import io.grpc.ChannelConfigurator;
4140
import io.grpc.ChannelCredentials;
4241
import io.grpc.ChannelLogger;
4342
import io.grpc.ChannelLogger.ChannelLogLevel;
@@ -156,14 +155,6 @@ public Result selectConfig(PickSubchannelArgs args) {
156155
private static final LoadBalancer.PickDetailsConsumer NOOP_PICK_DETAILS_CONSUMER =
157156
new LoadBalancer.PickDetailsConsumer() {};
158157

159-
/**
160-
* Retrieves the user-provided configuration function for internal child channels.
161-
*
162-
* <p>This is intended for use by gRPC internal components
163-
* that are responsible for creating auxiliary {@code ManagedChannel} instances.
164-
*/
165-
private final ChannelConfigurator channelConfigurator;
166-
167158
private final InternalLogId logId;
168159
private final String target;
169160
@Nullable
@@ -554,8 +545,6 @@ ClientStream newSubstream(
554545
Supplier<Stopwatch> stopwatchSupplier,
555546
List<ClientInterceptor> interceptors,
556547
final TimeProvider timeProvider) {
557-
this.channelConfigurator = checkNotNull(builder.channelConfigurator,
558-
"channelConfigurator");
559548
this.target = checkNotNull(builder.target, "target");
560549
this.logId = InternalLogId.allocate("Channel", target);
561550
this.timeProvider = checkNotNull(timeProvider, "timeProvider");
@@ -600,8 +589,7 @@ ClientStream newSubstream(
600589
.setOffloadExecutor(this.offloadExecutorHolder)
601590
.setOverrideAuthority(this.authorityOverride)
602591
.setMetricRecorder(this.metricRecorder)
603-
.setNameResolverRegistry(builder.nameResolverRegistry)
604-
.setChildChannelConfigurator(this.channelConfigurator);
592+
.setNameResolverRegistry(builder.nameResolverRegistry);
605593
builder.copyAllNameResolverCustomArgsTo(nameResolverArgsBuilder);
606594
this.nameResolverArgs = nameResolverArgsBuilder.build();
607595
this.nameResolver = getNameResolver(
@@ -1501,11 +1489,6 @@ protected ManagedChannelBuilder<?> delegate() {
15011489

15021490
ResolvingOobChannelBuilder builder = new ResolvingOobChannelBuilder();
15031491

1504-
// Note that we follow the global configurator pattern and try to fuse the configurations as
1505-
// soon as the builder gets created
1506-
channelConfigurator.configureChannelBuilder(builder);
1507-
builder.childChannelConfigurator(channelConfigurator);
1508-
15091492
return builder
15101493
// TODO(zdapeng): executors should not outlive the parent channel.
15111494
.executor(executor)

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

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import io.grpc.CallCredentials;
3030
import io.grpc.CallOptions;
3131
import io.grpc.Channel;
32-
import io.grpc.ChannelConfigurator;
3332
import io.grpc.ChannelCredentials;
3433
import io.grpc.ClientCall;
3534
import io.grpc.ClientInterceptor;
@@ -150,8 +149,6 @@ public static ManagedChannelBuilder<?> forTarget(String target) {
150149
}
151150

152151

153-
ChannelConfigurator channelConfigurator = builder -> { };
154-
155152
ObjectPool<? extends Executor> executorPool = DEFAULT_EXECUTOR_POOL;
156153

157154
ObjectPool<? extends Executor> offloadExecutorPool = DEFAULT_EXECUTOR_POOL;
@@ -759,14 +756,6 @@ protected ManagedChannelImplBuilder addMetricSink(MetricSink metricSink) {
759756
return this;
760757
}
761758

762-
@Override
763-
public ManagedChannelImplBuilder childChannelConfigurator(
764-
ChannelConfigurator channelConfigurator) {
765-
this.channelConfigurator = checkNotNull(channelConfigurator,
766-
"childChannelConfigurator");
767-
return this;
768-
}
769-
770759
@Override
771760
public ManagedChannel build() {
772761
ClientTransportFactory clientTransportFactory =

0 commit comments

Comments
 (0)