Skip to content

Commit bb83978

Browse files
committed
core: Remove temporary AbstractServerImplBuilder
This breaks the ABI of the classes listed below. Users that recompiled their code using grpc-java [`v1.36.0`] (https://github.com/grpc/grpc-java/releases/tag/v1.36.0) (released on Feb 23, 2021) and later, ARE NOT AFFECTED. Users that compiled their source using grpc-java earlier than [`v1.36.0`] (https://github.com/grpc/grpc-java/releases/tag/v1.36.0) need to recompile when upgrading to grpc-java `v1.59.0`. Otherwise the code will fail on runtime with `NoSuchMethodError`. For example, code: ```java NettyServerBuilder.forPort(80).directExecutor(); ``` Will fail with > `java.lang.NoSuchMethodError: 'io.grpc.internal.AbstractServerImplBuilder io.grpc.netty.NettyServerBuilder.directExecutor()'` **Affected classes** Class `AbstractServerImplBuilder` is deleted, and no longer in the class hierarchy of the server builders: - `io.grpc.netty.NettyServerBuilder` - `io.grpc.inprocess.InProcessServerBuilder`
1 parent 2cbc290 commit bb83978

File tree

5 files changed

+4
-332
lines changed

5 files changed

+4
-332
lines changed

core/build.gradle

-5
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,6 @@ plugins.withId("java") {
113113
"io/grpc/internal/AbstractManagedChannelImplBuilder.class").get().getAsFile(),
114114
"<T:Lio/grpc/internal/AbstractManagedChannelImplBuilder<TT;>;>Lio/grpc/ManagedChannelBuilder<TT;>;",
115115
"<T:Lio/grpc/ManagedChannelBuilder<TT;>;>Lio/grpc/ManagedChannelBuilder<TT;>;");
116-
project.replaceConstant(
117-
destinationDirectory.file(
118-
"io/grpc/internal/AbstractServerImplBuilder.class").get().getAsFile(),
119-
"<T:Lio/grpc/internal/AbstractServerImplBuilder<TT;>;>Lio/grpc/ServerBuilder<TT;>;",
120-
"<T:Lio/grpc/ServerBuilder<TT;>;>Lio/grpc/ServerBuilder<TT;>;");
121116
}
122117
}
123118
}

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

-233
This file was deleted.

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

-89
This file was deleted.

inprocess/src/main/java/io/grpc/inprocess/InProcessServerBuilder.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
import com.google.errorprone.annotations.DoNotCall;
2323
import io.grpc.Deadline;
2424
import io.grpc.ExperimentalApi;
25+
import io.grpc.ForwardingServerBuilder;
2526
import io.grpc.Internal;
2627
import io.grpc.ServerBuilder;
2728
import io.grpc.ServerStreamTracer;
28-
import io.grpc.internal.AbstractServerImplBuilder;
2929
import io.grpc.internal.FixedObjectPool;
3030
import io.grpc.internal.GrpcUtil;
3131
import io.grpc.internal.InternalServer;
@@ -73,8 +73,7 @@
7373
* </pre>
7474
*/
7575
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1783")
76-
public final class InProcessServerBuilder extends
77-
AbstractServerImplBuilder<InProcessServerBuilder> {
76+
public final class InProcessServerBuilder extends ForwardingServerBuilder<InProcessServerBuilder> {
7877
/**
7978
* Create a server builder that will bind with the given name.
8079
*

netty/src/main/java/io/grpc/netty/NettyServerBuilder.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
import com.google.errorprone.annotations.InlineMe;
3131
import io.grpc.Attributes;
3232
import io.grpc.ExperimentalApi;
33+
import io.grpc.ForwardingServerBuilder;
3334
import io.grpc.Internal;
3435
import io.grpc.ServerBuilder;
3536
import io.grpc.ServerCredentials;
3637
import io.grpc.ServerStreamTracer;
37-
import io.grpc.internal.AbstractServerImplBuilder;
3838
import io.grpc.internal.FixedObjectPool;
3939
import io.grpc.internal.GrpcUtil;
4040
import io.grpc.internal.InternalServer;
@@ -67,7 +67,7 @@
6767
*/
6868
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/1784")
6969
@CheckReturnValue
70-
public final class NettyServerBuilder extends AbstractServerImplBuilder<NettyServerBuilder> {
70+
public final class NettyServerBuilder extends ForwardingServerBuilder<NettyServerBuilder> {
7171

7272
// 1MiB
7373
public static final int DEFAULT_FLOW_CONTROL_WINDOW = 1024 * 1024;

0 commit comments

Comments
 (0)