From 0417f50fcfb4f071f39bb9a0f9c8288e4412b2be Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 27 Dec 2019 13:52:56 -0500 Subject: [PATCH 01/27] error_prone_annotation 2.3.4 --- build.gradle | 2 +- examples/pom.xml | 2 +- repositories.bzl | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index 43320a50a76..483034f4aae 100644 --- a/build.gradle +++ b/build.gradle @@ -113,7 +113,7 @@ subprojects { libraries = [ android_annotations: "com.google.android:annotations:4.1.1.4", animalsniffer_annotations: "org.codehaus.mojo:animal-sniffer-annotations:1.18", - errorprone: "com.google.errorprone:error_prone_annotations:2.3.3", + errorprone: "com.google.errorprone:error_prone_annotations:2.3.4", gson: "com.google.code.gson:gson:2.8.6", guava: "com.google.guava:guava:${guavaVersion}", hpack: 'com.twitter:hpack:0.10.1', diff --git a/examples/pom.xml b/examples/pom.xml index b6900a81439..2de20a9e450 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -65,7 +65,7 @@ com.google.errorprone error_prone_annotations - 2.3.3 + 2.3.4 junit diff --git a/repositories.bzl b/repositories.bzl index bdd2ef71595..5c935915503 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -218,9 +218,9 @@ def com_google_code_gson(): def com_google_errorprone_error_prone_annotations(): jvm_maven_import_external( name = "com_google_errorprone_error_prone_annotations", - artifact = "com.google.errorprone:error_prone_annotations:2.3.3", + artifact = "com.google.errorprone:error_prone_annotations:2.3.4", server_urls = ["https://repo.maven.apache.org/maven2/"], - artifact_sha256 = "ec59f1b702d9afc09e8c3929f5c42777dec623a6ea2731ac694332c7d7680f5a", + artifact_sha256 = "baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c", licenses = ["notice"], # Apache 2.0 ) From c534c13cf01d4cb1602efc04aa2da9c104dacdd6 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 27 Dec 2019 14:15:34 -0500 Subject: [PATCH 02/27] error_prone_annotations not from perfmark --- build.gradle | 2 +- core/build.gradle | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 483034f4aae..6936ec0adac 100644 --- a/build.gradle +++ b/build.gradle @@ -263,7 +263,7 @@ subprojects { if (rootProject.properties.get('errorProne', true)) { dependencies { - errorprone 'com.google.errorprone:error_prone_core:2.3.3' + errorprone 'com.google.errorprone:error_prone_core:2.3.4' errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1' annotationProcessor 'com.google.guava:guava-beta-checker:1.0' diff --git a/core/build.gradle b/core/build.gradle index 6ffd25e5b57..2abc1007706 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -15,8 +15,10 @@ evaluationDependsOn(project(':grpc-api').path) dependencies { compile project(':grpc-api'), libraries.gson, - libraries.android_annotations, - libraries.perfmark + libraries.android_annotations + compile (libraries.perfmark) { + exclude group: 'com.google.errorprone', module: 'error_prone_annotations' + } compile (libraries.opencensus_api) { // prefer our own versions instead of opencensus-api's dependency exclude group: 'com.google.code.findbugs', module: 'jsr305' From f4e6c09dff6d1e4ab07efe765d575e9068a41c3c Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 27 Dec 2019 14:23:55 -0500 Subject: [PATCH 03/27] error prone core 2.3.3 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 6936ec0adac..483034f4aae 100644 --- a/build.gradle +++ b/build.gradle @@ -263,7 +263,7 @@ subprojects { if (rootProject.properties.get('errorProne', true)) { dependencies { - errorprone 'com.google.errorprone:error_prone_core:2.3.4' + errorprone 'com.google.errorprone:error_prone_core:2.3.3' errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1' annotationProcessor 'com.google.guava:guava-beta-checker:1.0' From 484531bc81f878d9401f8d09593e67ecfa7a4c99 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 27 Dec 2019 14:28:58 -0500 Subject: [PATCH 04/27] errorprone core 2.3.4 --- android/build.gradle | 2 +- build.gradle | 2 +- cronet/build.gradle | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index f981a90ab33..50ffee7ec81 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -44,7 +44,7 @@ repositories { } dependencies { - errorprone 'com.google.errorprone:error_prone_core:2.3.3' + errorprone 'com.google.errorprone:error_prone_core:2.3.4' errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1' implementation 'io.grpc:grpc-core:1.27.0-SNAPSHOT' // CURRENT_GRPC_VERSION diff --git a/build.gradle b/build.gradle index 483034f4aae..6936ec0adac 100644 --- a/build.gradle +++ b/build.gradle @@ -263,7 +263,7 @@ subprojects { if (rootProject.properties.get('errorProne', true)) { dependencies { - errorprone 'com.google.errorprone:error_prone_core:2.3.3' + errorprone 'com.google.errorprone:error_prone_core:2.3.4' errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1' annotationProcessor 'com.google.guava:guava-beta-checker:1.0' diff --git a/cronet/build.gradle b/cronet/build.gradle index 2e88ee6aeab..4130d3addc4 100644 --- a/cronet/build.gradle +++ b/cronet/build.gradle @@ -51,7 +51,7 @@ android { } dependencies { - errorprone 'com.google.errorprone:error_prone_core:2.3.3' + errorprone 'com.google.errorprone:error_prone_core:2.3.4' errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1' implementation 'io.grpc:grpc-core:1.27.0-SNAPSHOT' // CURRENT_GRPC_VERSION From e7f9c6a3e4b88c6b0252a648be6d83bf71936385 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 27 Dec 2019 14:35:57 -0500 Subject: [PATCH 05/27] Declaring errorprone to replace perfmark's dependency --- core/build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/build.gradle b/core/build.gradle index 2abc1007706..948cb75afd1 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -15,7 +15,8 @@ evaluationDependsOn(project(':grpc-api').path) dependencies { compile project(':grpc-api'), libraries.gson, - libraries.android_annotations + libraries.android_annotations, + libraries.errorprone // to avoid using perfmark's dependency compile (libraries.perfmark) { exclude group: 'com.google.errorprone', module: 'error_prone_annotations' } From ef4264e6f03e518acb6db2df164a95d517a90002 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 15:21:26 -0500 Subject: [PATCH 06/27] IO_GRPC_GRPC_JAVA_ARTIFACTS --- repositories.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repositories.bzl b/repositories.bzl index 160659b92f5..3f129cadb4d 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -17,7 +17,7 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [ "com.google.auth:google-auth-library-oauth2-http:0.19.0", "com.google.code.findbugs:jsr305:3.0.2", "com.google.code.gson:gson:jar:2.8.6", - "com.google.errorprone:error_prone_annotations:2.3.3", + "com.google.errorprone:error_prone_annotations:2.3.4", "com.google.guava:failureaccess:1.0.1", "com.google.guava:guava:28.1-android", "com.google.j2objc:j2objc-annotations:1.3", From 9e1c3a50a4978d8998bd2a5d51ae286be16ad0e5 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 15:36:19 -0500 Subject: [PATCH 07/27] SuppressWarnings("UnnecessaryAnonymousClass") --- core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java b/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java index 3e7dd010e22..dadc5895891 100644 --- a/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java +++ b/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java @@ -122,6 +122,8 @@ class ProxyDetectorImpl implements ProxyDetector { // $ sudo tail -f /var/log/squid/access.log private static final Logger log = Logger.getLogger(ProxyDetectorImpl.class.getName()); + + @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private static final AuthenticationProvider DEFAULT_AUTHENTICATOR = new AuthenticationProvider() { @Override public PasswordAuthentication requestPasswordAuthentication( @@ -140,6 +142,8 @@ public PasswordAuthentication requestPasswordAuthentication( host, addr, port, protocol, prompt, scheme, url, Authenticator.RequestorType.PROXY); } }; + + @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private static final Supplier DEFAULT_PROXY_SELECTOR = new Supplier() { @Override From 51175e4d74db215cfde43c4056ecf5afb40ab6d3 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 15:45:38 -0500 Subject: [PATCH 08/27] FormatMethod --- .../okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java b/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java index 67ba33a68bf..be7e7df4b6f 100644 --- a/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java +++ b/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java @@ -19,6 +19,7 @@ package io.grpc.okhttp.internal.framed; +import com.google.errorprone.annotations.FormatMethod; import io.grpc.okhttp.internal.Protocol; import java.io.IOException; import java.util.List; @@ -586,10 +587,12 @@ void frameHeader(int streamId, int length, byte type, byte flags) throws IOExcep } } + @FormatMethod private static IllegalArgumentException illegalArgument(String message, Object... args) { throw new IllegalArgumentException(format(message, args)); } + @FormatMethod private static IOException ioException(String message, Object... args) throws IOException { throw new IOException(format(message, args)); } From f26fe6d19740d1d16b6d06a9a8c1a270df7218b7 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 15:48:39 -0500 Subject: [PATCH 09/27] grpc-netty: @SuppressWarnings("UnnecessaryAnonymousClass") --- .../main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java | 2 ++ netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java | 1 + netty/src/main/java/io/grpc/netty/WriteQueue.java | 1 + 3 files changed, 4 insertions(+) diff --git a/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java b/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java index f8d0e659b81..0be01fc2d83 100644 --- a/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java +++ b/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java @@ -36,6 +36,8 @@ final class Http2ControlFrameLimitEncoder extends DecoratingHttp2ConnectionEncod private static final InternalLogger logger = InternalLoggerFactory.getInstance(Http2ControlFrameLimitEncoder.class); private final int maxOutstandingControlFrames; + + @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private final ChannelFutureListener outstandingControlFramesListener = new ChannelFutureListener() { @Override public void operationComplete(ChannelFuture future) { diff --git a/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java b/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java index 964ae44b178..892596e365f 100644 --- a/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java +++ b/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java @@ -28,6 +28,7 @@ * Monitors connection idle time; shutdowns the connection if the max connection idle is reached. */ abstract class MaxConnectionIdleManager { + @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private static final Ticker systemTicker = new Ticker() { @Override public long nanoTime() { diff --git a/netty/src/main/java/io/grpc/netty/WriteQueue.java b/netty/src/main/java/io/grpc/netty/WriteQueue.java index cfbfe758d65..5f395fdb16a 100644 --- a/netty/src/main/java/io/grpc/netty/WriteQueue.java +++ b/netty/src/main/java/io/grpc/netty/WriteQueue.java @@ -40,6 +40,7 @@ class WriteQueue { /** * {@link Runnable} used to schedule work onto the tail of the event loop. */ + @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private final Runnable later = new Runnable() { @Override public void run() { From 61fb9f2b96c5954c523d8bf879c8f7a05ea84455 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 16:00:25 -0500 Subject: [PATCH 10/27] Removed unused argument --- .../okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java b/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java index be7e7df4b6f..197a7f72fc8 100644 --- a/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java +++ b/okhttp/third_party/okhttp/main/java/io/grpc/okhttp/internal/framed/Http2.java @@ -362,7 +362,7 @@ private void readWindowUpdate( throws IOException { if (length != 4) throw ioException("TYPE_WINDOW_UPDATE length !=4: %s", length); long increment = (source.readInt() & 0x7fffffffL); - if (increment == 0) throw ioException("windowSizeIncrement was 0", increment); + if (increment == 0) throw ioException("windowSizeIncrement was 0"); handler.windowUpdate(streamId, increment); } From af940dc23222747ff378967d0eba4be0da40a786 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 16:04:05 -0500 Subject: [PATCH 11/27] grpc-interop-testing: SuppressWarnings("UnnecessaryAnonymousClass") --- .../java/io/grpc/testing/integration/AbstractInteropTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java b/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java index 65274cad704..3c4c4601be5 100644 --- a/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java +++ b/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java @@ -291,6 +291,8 @@ public ClientStreamTracer newClientStreamTracer( return tracer; } }; + + @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private final ClientInterceptor tracerSetupInterceptor = new ClientInterceptor() { @Override public ClientCall interceptCall( From 5e13810c0f963afeba8c35391e379a00ceaf99ea Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 23:25:31 -0500 Subject: [PATCH 12/27] SuppressWarnings("LiteProtoToString") --- .../src/main/java/io/grpc/testing/integration/Util.java | 1 + 1 file changed, 1 insertion(+) diff --git a/interop-testing/src/main/java/io/grpc/testing/integration/Util.java b/interop-testing/src/main/java/io/grpc/testing/integration/Util.java index 0ec1285bec3..d75661132a9 100644 --- a/interop-testing/src/main/java/io/grpc/testing/integration/Util.java +++ b/interop-testing/src/main/java/io/grpc/testing/integration/Util.java @@ -37,6 +37,7 @@ public class Util { = Metadata.Key.of("x-grpc-test-echo-trailing-bin", Metadata.BINARY_BYTE_MARSHALLER); /** Assert that two messages are equal, producing a useful message if not. */ + @SuppressWarnings("LiteProtoToString") public static void assertEquals(MessageLite expected, MessageLite actual) { if (expected == null || actual == null) { Assert.assertEquals(expected, actual); From ab08958ac827f4c52e52ca598760bd8b01b9e3e0 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 23:34:53 -0500 Subject: [PATCH 13/27] SameNameButDifferent --- services/src/main/java/io/grpc/services/BinlogHelper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/src/main/java/io/grpc/services/BinlogHelper.java b/services/src/main/java/io/grpc/services/BinlogHelper.java index e38524d3279..5a3d99e49e8 100644 --- a/services/src/main/java/io/grpc/services/BinlogHelper.java +++ b/services/src/main/java/io/grpc/services/BinlogHelper.java @@ -408,7 +408,7 @@ public ClientCall interceptCall( return new SimpleForwardingClientCall(next.newCall(method, callOptions)) { @Override - public void start(final Listener responseListener, Metadata headers) { + public void start(final ClientCall.Listener responseListener, Metadata headers) { final Duration timeout = deadline == null ? null : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); writer.logClientHeader( @@ -500,7 +500,7 @@ public void cancel(String message, Throwable cause) { public ServerInterceptor getServerInterceptor(final long callId) { return new ServerInterceptor() { @Override - public Listener interceptCall( + public ServerCall.Listener interceptCall( final ServerCall call, Metadata headers, ServerCallHandler next) { From 6c988623b8f464f1f83b434703862d357586be67 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Mon, 30 Dec 2019 23:36:31 -0500 Subject: [PATCH 14/27] SuppressWarnings("UnnecessaryAnonymousClass") at build.gradle --- build.gradle | 4 ++++ core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java | 4 ---- .../java/io/grpc/testing/integration/AbstractInteropTest.java | 2 -- .../java/io/grpc/netty/Http2ControlFrameLimitEncoder.java | 2 -- .../src/main/java/io/grpc/netty/MaxConnectionIdleManager.java | 1 - netty/src/main/java/io/grpc/netty/WriteQueue.java | 1 - 6 files changed, 4 insertions(+), 10 deletions(-) diff --git a/build.gradle b/build.gradle index 0a5d1cbb403..388500d2afa 100644 --- a/build.gradle +++ b/build.gradle @@ -279,6 +279,10 @@ subprojects { } } + compileJava { + // This project targets Java 7 (no method references) + options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF) + } compileTestJava { // LinkedList doesn't hurt much in tests and has lots of usages options.errorprone.check("JdkObsolete", CheckSeverity.OFF) diff --git a/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java b/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java index dadc5895891..3e7dd010e22 100644 --- a/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java +++ b/core/src/main/java/io/grpc/internal/ProxyDetectorImpl.java @@ -122,8 +122,6 @@ class ProxyDetectorImpl implements ProxyDetector { // $ sudo tail -f /var/log/squid/access.log private static final Logger log = Logger.getLogger(ProxyDetectorImpl.class.getName()); - - @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private static final AuthenticationProvider DEFAULT_AUTHENTICATOR = new AuthenticationProvider() { @Override public PasswordAuthentication requestPasswordAuthentication( @@ -142,8 +140,6 @@ public PasswordAuthentication requestPasswordAuthentication( host, addr, port, protocol, prompt, scheme, url, Authenticator.RequestorType.PROXY); } }; - - @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private static final Supplier DEFAULT_PROXY_SELECTOR = new Supplier() { @Override diff --git a/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java b/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java index 3c4c4601be5..65274cad704 100644 --- a/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java +++ b/interop-testing/src/main/java/io/grpc/testing/integration/AbstractInteropTest.java @@ -291,8 +291,6 @@ public ClientStreamTracer newClientStreamTracer( return tracer; } }; - - @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private final ClientInterceptor tracerSetupInterceptor = new ClientInterceptor() { @Override public ClientCall interceptCall( diff --git a/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java b/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java index 0be01fc2d83..f8d0e659b81 100644 --- a/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java +++ b/netty/src/main/java/io/grpc/netty/Http2ControlFrameLimitEncoder.java @@ -36,8 +36,6 @@ final class Http2ControlFrameLimitEncoder extends DecoratingHttp2ConnectionEncod private static final InternalLogger logger = InternalLoggerFactory.getInstance(Http2ControlFrameLimitEncoder.class); private final int maxOutstandingControlFrames; - - @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private final ChannelFutureListener outstandingControlFramesListener = new ChannelFutureListener() { @Override public void operationComplete(ChannelFuture future) { diff --git a/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java b/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java index 892596e365f..964ae44b178 100644 --- a/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java +++ b/netty/src/main/java/io/grpc/netty/MaxConnectionIdleManager.java @@ -28,7 +28,6 @@ * Monitors connection idle time; shutdowns the connection if the max connection idle is reached. */ abstract class MaxConnectionIdleManager { - @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private static final Ticker systemTicker = new Ticker() { @Override public long nanoTime() { diff --git a/netty/src/main/java/io/grpc/netty/WriteQueue.java b/netty/src/main/java/io/grpc/netty/WriteQueue.java index 5f395fdb16a..cfbfe758d65 100644 --- a/netty/src/main/java/io/grpc/netty/WriteQueue.java +++ b/netty/src/main/java/io/grpc/netty/WriteQueue.java @@ -40,7 +40,6 @@ class WriteQueue { /** * {@link Runnable} used to schedule work onto the tail of the event loop. */ - @SuppressWarnings("UnnecessaryAnonymousClass") // grpc-java targets Java 7 (no method references) private final Runnable later = new Runnable() { @Override public void run() { From 5a1fa5701ded6f8a5bcf16a226364debd74ee3fd Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 00:02:37 -0500 Subject: [PATCH 15/27] ManagedChannelImplTest for SameNameButDifferent --- build.gradle | 1 + .../grpc/internal/ManagedChannelImplTest.java | 213 +++++++++++------- .../java/io/grpc/services/BinlogHelper.java | 111 +++++---- 3 files changed, 180 insertions(+), 145 deletions(-) diff --git a/build.gradle b/build.gradle index 388500d2afa..e5d6a904867 100644 --- a/build.gradle +++ b/build.gradle @@ -286,6 +286,7 @@ subprojects { compileTestJava { // LinkedList doesn't hurt much in tests and has lots of usages options.errorprone.check("JdkObsolete", CheckSeverity.OFF) + options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF) } } diff --git a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java index 119c0a963d8..810a0884398 100644 --- a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java +++ b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java @@ -603,7 +603,7 @@ public void callsAndShutdownAndShutdownNow() { } private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAfterShutdown) { - FakeNameResolverFactory nameResolverFactory = + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -739,7 +739,7 @@ private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAft @Test public void noMoreCallbackAfterLoadBalancerShutdown() { - FakeNameResolverFactory nameResolverFactory = + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); @@ -884,7 +884,7 @@ public void callOptionsExecutor() { @Test public void nameResolutionFailed() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - FakeNameResolverFactory nameResolverFactory = + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .setError(error) @@ -892,7 +892,8 @@ public void nameResolutionFailed() { channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); assertEquals(1, timer.numPendingTasks(NAME_RESOLVER_REFRESH_TASK_FILTER)); @@ -931,8 +932,10 @@ public void nameResolutionFailed() { public void nameResolutionFailed_delayedTransportShutdownCancelsBackoff() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setError(error) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); @@ -968,8 +971,8 @@ public void nameResolverReturnsEmptySubLists_becomeErrorByDefault() throws Excep String errorDescription = "NameResolver returned no usable address"; // Pass a FakeNameResolverFactory with an empty list and LB config - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); Map serviceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": { \"setting1\": \"high\" } } ] }"); Attributes serviceConfigAttrs = @@ -996,8 +999,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio when(mockLoadBalancer.canHandleEmptyAddressListFromNameResolution()).thenReturn(true); // Pass a FakeNameResolverFactory with an empty list and LB config - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); Map serviceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": { \"setting1\": \"high\" } } ] }"); Attributes serviceConfigAttrs = @@ -1028,8 +1031,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio public void loadBalancerThrowsInHandleResolvedAddresses() { RuntimeException ex = new RuntimeException("simulated"); // Delay the success of name resolution until allResolved() is called - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setResolvedAtStart(false) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); @@ -1049,8 +1052,10 @@ public void loadBalancerThrowsInHandleResolvedAddresses() { @Test public void nameResolvedAfterChannelShutdown() { // Delay the success of name resolution until allResolved() is called. - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -1084,8 +1089,8 @@ public void firstResolvedServerFailedToConnect() throws Exception { InOrder inOrder = inOrder(mockLoadBalancer, subchannelStateListener); List resolvedAddrs = Arrays.asList(badAddress, goodAddress); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1228,8 +1233,8 @@ public void allServersFailedToConnect() throws Exception { List resolvedAddrs = Arrays.asList(addr1, addr2); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1800,8 +1805,8 @@ public void notRefreshNameResolution_whenOobChannelConnectionFailed_idle() { private void subtestNameResolutionRefreshWhenConnectionFailed( boolean isOobChannel, boolean isIdle) { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1818,7 +1823,8 @@ private void subtestNameResolutionRefreshWhenConnectionFailed( MockClientTransportInfo transportInfo = transports.poll(); assertNotNull(transportInfo); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.remove(0); if (isIdle) { channel.enterIdle(); @@ -2039,7 +2045,9 @@ public void pickerReturnsStreamTracer_delayed() { @Test public void getState_loadBalancerSupportsChannelState() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2050,7 +2058,9 @@ public void getState_loadBalancerSupportsChannelState() { @Test public void getState_withRequestConnect() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); requestConnection = false; createChannel(); @@ -2073,7 +2083,9 @@ public void getState_withRequestConnect() { @Test public void getState_withRequestConnect_IdleWithLbRunning() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); @@ -2096,7 +2108,9 @@ public void run() { }; channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2129,7 +2143,9 @@ public void run() { }; channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); channel.notifyWhenStateChanged(IDLE, onStateChanged); @@ -2187,15 +2203,16 @@ public void panic_whenReady() { private void subtestPanic(ConnectivityState initialState) { assertNotEquals("We don't test panic mode if it's already SHUTDOWN", SHUTDOWN, initialState); long idleTimeoutMillis = 2000L; - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); assertThat(nameResolverFactory.resolvers).hasSize(1); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.remove(0); final Throwable panicReason = new Exception("Simulated uncaught exception"); if (initialState == IDLE) { @@ -2360,7 +2377,7 @@ public void idleMode_resetsDelayedTransportPicker() { long idleTimeoutMillis = 1000L; channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri) + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build()); createChannel(); @@ -2441,8 +2458,8 @@ public void enterIdleAfterIdleTimerIsNoOp() { @Test public void enterIdle_exitsIdleIfDelayedStreamPending() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2562,7 +2579,9 @@ protected Subchannel delegate() { @Test public void updateBalancingStateWithShutdownShouldBeIgnored() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2578,12 +2597,13 @@ public void updateBalancingStateWithShutdownShouldBeIgnored() { @Test public void balancerRefreshNameResolution() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.get(0); int initialRefreshCount = resolver.refreshCalled; refreshNameResolutionSafely(helper); assertEquals(initialRefreshCount + 1, resolver.refreshCalled); @@ -2593,12 +2613,15 @@ public void balancerRefreshNameResolution() { public void resetConnectBackoff() { // Start with a name resolution failure to trigger backoff attempts Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setError(error) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); FakeClock.ScheduledTask nameResolverBackoff = getNameResolverRefresh(); @@ -2621,13 +2644,14 @@ public void resetConnectBackoff() { @Test public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver nameResolver = + nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); channel.resetConnectBackoff(); @@ -2637,8 +2661,8 @@ public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { @Test public void resetConnectBackoff_noOpWhenChannelShutdown() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2646,21 +2670,23 @@ public void resetConnectBackoff_noOpWhenChannelShutdown() { assertTrue(channel.isShutdown()); channel.resetConnectBackoff(); - FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver nameResolver = + nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @Test public void resetConnectBackoff_noOpWhenNameResolverNotStarted() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); requestConnection = false; createChannel(); channel.resetConnectBackoff(); - FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver nameResolver = + nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @@ -2714,8 +2740,10 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { channelBuilder.maxTraceEvents(10); Status error = Status.UNAVAILABLE.withDescription("simulated error"); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setError(error) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2730,8 +2758,8 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { public void channelTracing_nameResolvedEvent() throws Exception { timer.forwardNanos(1234); channelBuilder.maxTraceEvents(10); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2750,8 +2778,10 @@ public void channelTracing_nameResolvedEvent_zeorAndNonzeroBackends() throws Exc channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(servers) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2790,8 +2820,10 @@ public void channelTracing_serviceConfigChange() throws Exception { channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(servers) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -3192,8 +3224,8 @@ public void retryBackoffThenChannelShutdown_retryShouldStillHappen_newCallShould Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, serviceConfig).build(); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); nameResolverFactory.nextResolvedAttributes.set(attributesWithRetryPolicy); @@ -3301,8 +3333,8 @@ public void hedgingScheduledThenChannelShutdown_hedgeShouldStillHappen_newCallSh Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, serviceConfig).build(); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); nameResolverFactory.nextResolvedAttributes.set(attributesWithRetryPolicy); @@ -3680,9 +3712,10 @@ public void nameResolverHelper_noConfigChosen() { public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); @@ -3714,9 +3747,10 @@ public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -3752,9 +3786,10 @@ public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map serviceConfig = @@ -3806,9 +3841,10 @@ public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { public void enableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3845,9 +3881,10 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3876,9 +3913,10 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Attributes serviceConfigAttrs = Attributes.EMPTY; @@ -3899,9 +3937,10 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() @Test public void useDefaultImmediatelyIfDisableLookUp() throws Exception { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -3925,9 +3964,10 @@ public void useDefaultImmediatelyIfDisableLookUp() throws Exception { @Test public void notUseDefaultImmediatelyIfEnableLookUp() throws Exception { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -4094,8 +4134,9 @@ Builder setError(Status error) { return this; } - FakeNameResolverFactory build() { - return new FakeNameResolverFactory(expectedUri, servers, resolvedAtStart, error); + ManagedChannelImplTest.FakeNameResolverFactory build() { + return new ManagedChannelImplTest.FakeNameResolverFactory( + expectedUri, servers, resolvedAtStart, error); } } } diff --git a/services/src/main/java/io/grpc/services/BinlogHelper.java b/services/src/main/java/io/grpc/services/BinlogHelper.java index 5a3d99e49e8..a6c0b6c5ad1 100644 --- a/services/src/main/java/io/grpc/services/BinlogHelper.java +++ b/services/src/main/java/io/grpc/services/BinlogHelper.java @@ -46,7 +46,6 @@ import io.grpc.MethodDescriptor; import io.grpc.MethodDescriptor.Marshaller; import io.grpc.ServerCall; -import io.grpc.ServerCall.Listener; import io.grpc.ServerCallHandler; import io.grpc.ServerInterceptor; import io.grpc.Status; @@ -396,6 +395,7 @@ public long currentTimeNanos() { public ClientInterceptor getClientInterceptor(final long callId) { return new ClientInterceptor() { boolean trailersOnlyResponse = true; + @Override public ClientCall interceptCall( final MethodDescriptor method, CallOptions callOptions, Channel next) { @@ -409,8 +409,10 @@ public ClientCall interceptCall( return new SimpleForwardingClientCall(next.newCall(method, callOptions)) { @Override public void start(final ClientCall.Listener responseListener, Metadata headers) { - final Duration timeout = deadline == null ? null - : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); + final Duration timeout = + deadline == null + ? null + : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); writer.logClientHeader( seq.getAndIncrement(), methodName, @@ -448,8 +450,8 @@ public void onHeaders(Metadata headers) { @Override public void onClose(Status status, Metadata trailers) { - SocketAddress peer = trailersOnlyResponse - ? getPeerSocket(getAttributes()) : null; + SocketAddress peer = + trailersOnlyResponse ? getPeerSocket(getAttributes()) : null; writer.logTrailer( seq.getAndIncrement(), status, @@ -477,19 +479,13 @@ public void sendMessage(ReqT message) { @Override public void halfClose() { - writer.logHalfClose( - seq.getAndIncrement(), - GrpcLogEntry.Logger.LOGGER_CLIENT, - callId); + writer.logHalfClose(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_CLIENT, callId); super.halfClose(); } @Override public void cancel(String message, Throwable cause) { - writer.logCancel( - seq.getAndIncrement(), - GrpcLogEntry.Logger.LOGGER_CLIENT, - callId); + writer.logCancel(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_CLIENT, callId); super.cancel(message, cause); } }; @@ -509,8 +505,10 @@ public ServerCall.Listener interceptCall( String methodName = call.getMethodDescriptor().getFullMethodName(); String authority = call.getAuthority(); Deadline deadline = Context.current().getDeadline(); - final Duration timeout = deadline == null ? null - : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); + final Duration timeout = + deadline == null + ? null + : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); writer.logClientHeader( seq.getAndIncrement(), @@ -521,42 +519,43 @@ public ServerCall.Listener interceptCall( GrpcLogEntry.Logger.LOGGER_SERVER, callId, peer); - ServerCall wCall = new SimpleForwardingServerCall(call) { - @Override - public void sendMessage(RespT message) { - writer.logRpcMessage( - seq.getAndIncrement(), - EventType.EVENT_TYPE_SERVER_MESSAGE, - call.getMethodDescriptor().getResponseMarshaller(), - message, - GrpcLogEntry.Logger.LOGGER_SERVER, - callId); - super.sendMessage(message); - } - - @Override - public void sendHeaders(Metadata headers) { - writer.logServerHeader( - seq.getAndIncrement(), - headers, - GrpcLogEntry.Logger.LOGGER_SERVER, - callId, - /*peerAddress=*/ null); - super.sendHeaders(headers); - } - - @Override - public void close(Status status, Metadata trailers) { - writer.logTrailer( - seq.getAndIncrement(), - status, - trailers, - GrpcLogEntry.Logger.LOGGER_SERVER, - callId, - /*peerAddress=*/ null); - super.close(status, trailers); - } - }; + ServerCall wCall = + new SimpleForwardingServerCall(call) { + @Override + public void sendMessage(RespT message) { + writer.logRpcMessage( + seq.getAndIncrement(), + EventType.EVENT_TYPE_SERVER_MESSAGE, + call.getMethodDescriptor().getResponseMarshaller(), + message, + GrpcLogEntry.Logger.LOGGER_SERVER, + callId); + super.sendMessage(message); + } + + @Override + public void sendHeaders(Metadata headers) { + writer.logServerHeader( + seq.getAndIncrement(), + headers, + GrpcLogEntry.Logger.LOGGER_SERVER, + callId, + /*peerAddress=*/ null); + super.sendHeaders(headers); + } + + @Override + public void close(Status status, Metadata trailers) { + writer.logTrailer( + seq.getAndIncrement(), + status, + trailers, + GrpcLogEntry.Logger.LOGGER_SERVER, + callId, + /*peerAddress=*/ null); + super.close(status, trailers); + } + }; return new SimpleForwardingServerCallListener(next.startCall(wCall, headers)) { @Override @@ -573,19 +572,13 @@ public void onMessage(ReqT message) { @Override public void onHalfClose() { - writer.logHalfClose( - seq.getAndIncrement(), - GrpcLogEntry.Logger.LOGGER_SERVER, - callId); + writer.logHalfClose(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_SERVER, callId); super.onHalfClose(); } @Override public void onCancel() { - writer.logCancel( - seq.getAndIncrement(), - GrpcLogEntry.Logger.LOGGER_SERVER, - callId); + writer.logCancel(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_SERVER, callId); super.onCancel(); } }; From 6c20c9d5a614061126582dcfd51e1c82abe0d64b Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 00:08:15 -0500 Subject: [PATCH 16/27] Revert unnecessary change --- .../java/io/grpc/services/BinlogHelper.java | 110 +++++++++--------- 1 file changed, 58 insertions(+), 52 deletions(-) diff --git a/services/src/main/java/io/grpc/services/BinlogHelper.java b/services/src/main/java/io/grpc/services/BinlogHelper.java index a6c0b6c5ad1..27250f05342 100644 --- a/services/src/main/java/io/grpc/services/BinlogHelper.java +++ b/services/src/main/java/io/grpc/services/BinlogHelper.java @@ -395,7 +395,6 @@ public long currentTimeNanos() { public ClientInterceptor getClientInterceptor(final long callId) { return new ClientInterceptor() { boolean trailersOnlyResponse = true; - @Override public ClientCall interceptCall( final MethodDescriptor method, CallOptions callOptions, Channel next) { @@ -409,10 +408,8 @@ public ClientCall interceptCall( return new SimpleForwardingClientCall(next.newCall(method, callOptions)) { @Override public void start(final ClientCall.Listener responseListener, Metadata headers) { - final Duration timeout = - deadline == null - ? null - : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); + final Duration timeout = deadline == null ? null + : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); writer.logClientHeader( seq.getAndIncrement(), methodName, @@ -450,8 +447,8 @@ public void onHeaders(Metadata headers) { @Override public void onClose(Status status, Metadata trailers) { - SocketAddress peer = - trailersOnlyResponse ? getPeerSocket(getAttributes()) : null; + SocketAddress peer = trailersOnlyResponse + ? getPeerSocket(getAttributes()) : null; writer.logTrailer( seq.getAndIncrement(), status, @@ -479,13 +476,19 @@ public void sendMessage(ReqT message) { @Override public void halfClose() { - writer.logHalfClose(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_CLIENT, callId); + writer.logHalfClose( + seq.getAndIncrement(), + GrpcLogEntry.Logger.LOGGER_CLIENT, + callId); super.halfClose(); } @Override public void cancel(String message, Throwable cause) { - writer.logCancel(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_CLIENT, callId); + writer.logCancel( + seq.getAndIncrement(), + GrpcLogEntry.Logger.LOGGER_CLIENT, + callId); super.cancel(message, cause); } }; @@ -505,10 +508,8 @@ public ServerCall.Listener interceptCall( String methodName = call.getMethodDescriptor().getFullMethodName(); String authority = call.getAuthority(); Deadline deadline = Context.current().getDeadline(); - final Duration timeout = - deadline == null - ? null - : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); + final Duration timeout = deadline == null ? null + : Durations.fromNanos(deadline.timeRemaining(TimeUnit.NANOSECONDS)); writer.logClientHeader( seq.getAndIncrement(), @@ -519,43 +520,42 @@ public ServerCall.Listener interceptCall( GrpcLogEntry.Logger.LOGGER_SERVER, callId, peer); - ServerCall wCall = - new SimpleForwardingServerCall(call) { - @Override - public void sendMessage(RespT message) { - writer.logRpcMessage( - seq.getAndIncrement(), - EventType.EVENT_TYPE_SERVER_MESSAGE, - call.getMethodDescriptor().getResponseMarshaller(), - message, - GrpcLogEntry.Logger.LOGGER_SERVER, - callId); - super.sendMessage(message); - } - - @Override - public void sendHeaders(Metadata headers) { - writer.logServerHeader( - seq.getAndIncrement(), - headers, - GrpcLogEntry.Logger.LOGGER_SERVER, - callId, - /*peerAddress=*/ null); - super.sendHeaders(headers); - } - - @Override - public void close(Status status, Metadata trailers) { - writer.logTrailer( - seq.getAndIncrement(), - status, - trailers, - GrpcLogEntry.Logger.LOGGER_SERVER, - callId, - /*peerAddress=*/ null); - super.close(status, trailers); - } - }; + ServerCall wCall = new SimpleForwardingServerCall(call) { + @Override + public void sendMessage(RespT message) { + writer.logRpcMessage( + seq.getAndIncrement(), + EventType.EVENT_TYPE_SERVER_MESSAGE, + call.getMethodDescriptor().getResponseMarshaller(), + message, + GrpcLogEntry.Logger.LOGGER_SERVER, + callId); + super.sendMessage(message); + } + + @Override + public void sendHeaders(Metadata headers) { + writer.logServerHeader( + seq.getAndIncrement(), + headers, + GrpcLogEntry.Logger.LOGGER_SERVER, + callId, + /*peerAddress=*/ null); + super.sendHeaders(headers); + } + + @Override + public void close(Status status, Metadata trailers) { + writer.logTrailer( + seq.getAndIncrement(), + status, + trailers, + GrpcLogEntry.Logger.LOGGER_SERVER, + callId, + /*peerAddress=*/ null); + super.close(status, trailers); + } + }; return new SimpleForwardingServerCallListener(next.startCall(wCall, headers)) { @Override @@ -572,13 +572,19 @@ public void onMessage(ReqT message) { @Override public void onHalfClose() { - writer.logHalfClose(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_SERVER, callId); + writer.logHalfClose( + seq.getAndIncrement(), + GrpcLogEntry.Logger.LOGGER_SERVER, + callId); super.onHalfClose(); } @Override public void onCancel() { - writer.logCancel(seq.getAndIncrement(), GrpcLogEntry.Logger.LOGGER_SERVER, callId); + writer.logCancel( + seq.getAndIncrement(), + GrpcLogEntry.Logger.LOGGER_SERVER, + callId); super.onCancel(); } }; From 211c2c28594507e39d645f655067c7afc488d659 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 00:25:00 -0500 Subject: [PATCH 17/27] ManagedChannelImplTest2 for SameNameButDifferent --- .../internal/ManagedChannelImplTest2.java | 220 +++++++++++------- 1 file changed, 131 insertions(+), 89 deletions(-) diff --git a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java index bd717bd8b07..fda96c753b8 100644 --- a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java +++ b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java @@ -606,7 +606,7 @@ public void callsAndShutdownAndShutdownNow() { } private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAfterShutdown) { - FakeNameResolverFactory nameResolverFactory = + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -742,15 +742,16 @@ private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAft @Test public void noMoreCallbackAfterLoadBalancerShutdown() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Status resolutionError = Status.UNAVAILABLE.withDescription("Resolution failed"); createChannel(); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.get(0); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); verify(mockLoadBalancer).handleResolvedAddresses(resolvedAddressCaptor.capture()); assertThat(resolvedAddressCaptor.getValue().getAddresses()).containsExactly(addressGroup); @@ -884,15 +885,16 @@ public void callOptionsExecutor() { @Test public void nameResolutionFailed() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .setError(error) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); assertEquals(1, timer.numPendingTasks(NAME_RESOLVER_REFRESH_TASK_FILTER)); @@ -931,8 +933,10 @@ public void nameResolutionFailed() { public void nameResolutionFailed_delayedTransportShutdownCancelsBackoff() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setError(error) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); @@ -968,8 +972,8 @@ public void nameResolverReturnsEmptySubLists_becomeErrorByDefault() throws Excep String errorDescription = "NameResolver returned no usable address"; // Pass a FakeNameResolverFactory with an empty list and LB config - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); Map rawServiceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": { \"setting1\": \"high\" } } ] }"); ManagedChannelServiceConfig2 parsedServiceConfig = @@ -995,8 +999,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio when(mockLoadBalancer.canHandleEmptyAddressListFromNameResolution()).thenReturn(true); // Pass a FakeNameResolverFactory with an empty list and LB config - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); String rawLbConfig = "{ \"setting1\": \"high\" }"; Map rawServiceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": " + rawLbConfig + " } ] }"); @@ -1032,8 +1036,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio public void loadBalancerThrowsInHandleResolvedAddresses() { RuntimeException ex = new RuntimeException("simulated"); // Delay the success of name resolution until allResolved() is called - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setResolvedAtStart(false) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); @@ -1053,8 +1057,10 @@ public void loadBalancerThrowsInHandleResolvedAddresses() { @Test public void nameResolvedAfterChannelShutdown() { // Delay the success of name resolution until allResolved() is called. - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -1088,8 +1094,8 @@ public void firstResolvedServerFailedToConnect() throws Exception { InOrder inOrder = inOrder(mockLoadBalancer, subchannelStateListener); List resolvedAddrs = Arrays.asList(badAddress, goodAddress); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1230,8 +1236,8 @@ public void allServersFailedToConnect() throws Exception { List resolvedAddrs = Arrays.asList(addr1, addr2); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1801,8 +1807,8 @@ public void notRefreshNameResolution_whenOobChannelConnectionFailed_idle() { private void subtestNameResolutionRefreshWhenConnectionFailed( boolean isOobChannel, boolean isIdle) { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1819,7 +1825,8 @@ private void subtestNameResolutionRefreshWhenConnectionFailed( MockClientTransportInfo transportInfo = transports.poll(); assertNotNull(transportInfo); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.remove(0); if (isIdle) { channel.enterIdle(); @@ -2040,7 +2047,9 @@ public void pickerReturnsStreamTracer_delayed() { @Test public void getState_loadBalancerSupportsChannelState() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2051,7 +2060,9 @@ public void getState_loadBalancerSupportsChannelState() { @Test public void getState_withRequestConnect() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); requestConnection = false; createChannel(); @@ -2074,7 +2085,9 @@ public void getState_withRequestConnect() { @Test public void getState_withRequestConnect_IdleWithLbRunning() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); @@ -2097,7 +2110,9 @@ public void run() { }; channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2130,7 +2145,9 @@ public void run() { }; channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); channel.notifyWhenStateChanged(IDLE, onStateChanged); @@ -2188,15 +2205,16 @@ public void panic_whenReady() { private void subtestPanic(ConnectivityState initialState) { assertNotEquals("We don't test panic mode if it's already SHUTDOWN", SHUTDOWN, initialState); long idleTimeoutMillis = 2000L; - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); assertThat(nameResolverFactory.resolvers).hasSize(1); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.remove(0); final Throwable panicReason = new Exception("Simulated uncaught exception"); if (initialState == IDLE) { @@ -2361,7 +2379,7 @@ public void idleMode_resetsDelayedTransportPicker() { long idleTimeoutMillis = 1000L; channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri) + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build()); createChannel(); @@ -2442,8 +2460,8 @@ public void enterIdleAfterIdleTimerIsNoOp() { @Test public void enterIdle_exitsIdleIfDelayedStreamPending() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2563,7 +2581,9 @@ protected Subchannel delegate() { @Test public void updateBalancingStateWithShutdownShouldBeIgnored() { channelBuilder.nameResolverFactory( - new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setResolvedAtStart(false) + .build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2579,12 +2599,13 @@ public void updateBalancingStateWithShutdownShouldBeIgnored() { @Test public void balancerRefreshNameResolution() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.get(0); int initialRefreshCount = resolver.refreshCalled; refreshNameResolutionSafely(helper); assertEquals(initialRefreshCount + 1, resolver.refreshCalled); @@ -2594,12 +2615,15 @@ public void balancerRefreshNameResolution() { public void resetConnectBackoff() { // Start with a name resolution failure to trigger backoff attempts Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setError(error) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = + nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); FakeClock.ScheduledTask nameResolverBackoff = getNameResolverRefresh(); @@ -2622,13 +2646,14 @@ public void resetConnectBackoff() { @Test public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver nameResolver = + nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); channel.resetConnectBackoff(); @@ -2638,8 +2663,8 @@ public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { @Test public void resetConnectBackoff_noOpWhenChannelShutdown() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2647,21 +2672,23 @@ public void resetConnectBackoff_noOpWhenChannelShutdown() { assertTrue(channel.isShutdown()); channel.resetConnectBackoff(); - FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver nameResolver = + nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @Test public void resetConnectBackoff_noOpWhenNameResolverNotStarted() { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); requestConnection = false; createChannel(); channel.resetConnectBackoff(); - FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); + ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver nameResolver = + nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @@ -2715,8 +2742,10 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { channelBuilder.maxTraceEvents(10); Status error = Status.UNAVAILABLE.withDescription("simulated error"); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setError(error) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2731,8 +2760,8 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { public void channelTracing_nameResolvedEvent() throws Exception { timer.forwardNanos(1234); channelBuilder.maxTraceEvents(10); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2751,8 +2780,10 @@ public void channelTracing_nameResolvedEvent_zeorAndNonzeroBackends() throws Exc channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(servers) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2789,8 +2820,10 @@ public void channelTracing_serviceConfigChange() throws Exception { channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(servers) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -3198,8 +3231,8 @@ public void retryBackoffThenChannelShutdown_retryShouldStillHappen_newCallShould Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, rawServiceConfig).build(); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); ManagedChannelServiceConfig2 managedChannelServiceConfig = @@ -3312,8 +3345,8 @@ public void hedgingScheduledThenChannelShutdown_hedgeShouldStillHappen_newCallSh Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, rawServiceConfig).build(); - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); ManagedChannelServiceConfig2 managedChannelServiceConfig = @@ -3711,9 +3744,10 @@ public void nameResolverHelper_noConfigChosen() { public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); @@ -3745,9 +3779,10 @@ public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -3783,9 +3818,10 @@ public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map rawServiceConfig = @@ -3837,9 +3873,10 @@ public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { public void enableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3876,9 +3913,10 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3907,9 +3945,10 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map rawServiceConfig = Collections.emptyMap(); @@ -3934,9 +3973,10 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() @Test public void useDefaultImmediatelyIfDisableLookUp() throws Exception { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -3960,9 +4000,10 @@ public void useDefaultImmediatelyIfDisableLookUp() throws Exception { @Test public void notUseDefaultImmediatelyIfEnableLookUp() throws Exception { - FakeNameResolverFactory nameResolverFactory = - new FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)).build(); + ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)) + .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -4140,8 +4181,9 @@ FakeNameResolverFactory.Builder setError(Status error) { return this; } - FakeNameResolverFactory build() { - return new FakeNameResolverFactory(expectedUri, servers, resolvedAtStart, error); + ManagedChannelImplTest2.FakeNameResolverFactory build() { + return new ManagedChannelImplTest2.FakeNameResolverFactory( + expectedUri, servers, resolvedAtStart, error); } } } From 7488e210d031fad766d0a17a844fdedbbcf44bef Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 00:31:21 -0500 Subject: [PATCH 18/27] compileJmhJava with errorprone config --- core/build.gradle | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/build.gradle b/core/build.gradle index 948cb75afd1..18e4a9bf599 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -59,3 +59,12 @@ animalsniffer { sourceSets.test ] } + +import net.ltgt.gradle.errorprone.CheckSeverity + +plugins.withId("java") { + compileJmhJava { + // This project targets Java 7 (no method references) + options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF) + } +} From 5bd6d019df0e4de36526c1830e3205a941aaa109 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 00:34:22 -0500 Subject: [PATCH 19/27] OkHttpClientTransportTest for SameNameButDifferent --- .../src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java b/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java index 6f27fec7a2f..769d0097f90 100644 --- a/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java +++ b/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientTransportTest.java @@ -2127,7 +2127,7 @@ void assertClosed() { // The wait is safe; nextFrame is called in a loop and can have spurious wakeups @SuppressWarnings("WaitNotInLoop") @Override - public boolean nextFrame(Handler handler) throws IOException { + public boolean nextFrame(FrameReader.Handler handler) throws IOException { Result result; try { result = nextResults.take(); From 6fb9bac2f5c44a1c349b1a135a771b051312953c Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 00:46:53 -0500 Subject: [PATCH 20/27] SuppressWarning(PreferJavaTimeOverload) --- context/src/main/java/io/grpc/Deadline.java | 1 + 1 file changed, 1 insertion(+) diff --git a/context/src/main/java/io/grpc/Deadline.java b/context/src/main/java/io/grpc/Deadline.java index c7b50e0929a..3f3b10187ab 100644 --- a/context/src/main/java/io/grpc/Deadline.java +++ b/context/src/main/java/io/grpc/Deadline.java @@ -169,6 +169,7 @@ public Deadline offset(long offset, TimeUnit units) { * {@link TimeUnit#convert}. If there is no time remaining, the returned duration is how * long ago the deadline expired. */ + @SuppressWarnings("PreferJavaTimeOverload") // Duration class not available in Java 7 public long timeRemaining(TimeUnit unit) { final long nowNanos = ticker.nanoTime(); if (!expired && deadlineNanos - nowNanos <= 0) { From fb4d7a61c4af57b0ac2c484653a2d15540312d16 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 00:57:09 -0500 Subject: [PATCH 21/27] SuppressWarnings("PreferJavaTimeOverload") at build.gradle --- build.gradle | 3 +++ context/src/main/java/io/grpc/Deadline.java | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e5d6a904867..38f27977b66 100644 --- a/build.gradle +++ b/build.gradle @@ -282,11 +282,14 @@ subprojects { compileJava { // This project targets Java 7 (no method references) options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF) + // This project targets Java 7 (no time.Duration class) + options.errorprone.check("PreferJavaTimeOverload", CheckSeverity.OFF) } compileTestJava { // LinkedList doesn't hurt much in tests and has lots of usages options.errorprone.check("JdkObsolete", CheckSeverity.OFF) options.errorprone.check("UnnecessaryAnonymousClass", CheckSeverity.OFF) + options.errorprone.check("PreferJavaTimeOverload", CheckSeverity.OFF) } } diff --git a/context/src/main/java/io/grpc/Deadline.java b/context/src/main/java/io/grpc/Deadline.java index 3f3b10187ab..c7b50e0929a 100644 --- a/context/src/main/java/io/grpc/Deadline.java +++ b/context/src/main/java/io/grpc/Deadline.java @@ -169,7 +169,6 @@ public Deadline offset(long offset, TimeUnit units) { * {@link TimeUnit#convert}. If there is no time remaining, the returned duration is how * long ago the deadline expired. */ - @SuppressWarnings("PreferJavaTimeOverload") // Duration class not available in Java 7 public long timeRemaining(TimeUnit unit) { final long nowNanos = ticker.nanoTime(); if (!expired && deadlineNanos - nowNanos <= 0) { From 028bb6edbba12d6d21a6bd6fadcbc39912a32f42 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 01:15:53 -0500 Subject: [PATCH 22/27] SuppressWarnings("GuardedBy") --- .../test/java/io/grpc/okhttp/OkHttpClientStreamTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientStreamTest.java b/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientStreamTest.java index 8590e91829d..99a9159eab0 100644 --- a/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientStreamTest.java +++ b/okhttp/src/test/java/io/grpc/okhttp/OkHttpClientStreamTest.java @@ -127,6 +127,7 @@ public void closed( } @Test + @SuppressWarnings("GuardedBy") public void cancel_started() { stream.start(new BaseClientStreamListener()); stream.transportState().start(1234); @@ -145,6 +146,7 @@ public Void answer(InvocationOnMock invocation) throws Throwable { } @Test + @SuppressWarnings("GuardedBy") public void start_alreadyCancelled() { stream.start(new BaseClientStreamListener()); stream.cancel(Status.CANCELLED); @@ -155,6 +157,7 @@ public void start_alreadyCancelled() { } @Test + @SuppressWarnings("GuardedBy") public void start_userAgentRemoved() throws IOException { Metadata metaData = new Metadata(); metaData.put(GrpcUtil.USER_AGENT_KEY, "misbehaving-application"); @@ -171,6 +174,7 @@ public void start_userAgentRemoved() throws IOException { } @Test + @SuppressWarnings("GuardedBy") public void start_headerFieldOrder() throws IOException { Metadata metaData = new Metadata(); metaData.put(GrpcUtil.USER_AGENT_KEY, "misbehaving-application"); @@ -194,6 +198,7 @@ public void start_headerFieldOrder() throws IOException { } @Test + @SuppressWarnings("GuardedBy") public void start_headerPlaintext() throws IOException { Metadata metaData = new Metadata(); metaData.put(GrpcUtil.USER_AGENT_KEY, "misbehaving-application"); @@ -218,6 +223,7 @@ public void start_headerPlaintext() throws IOException { } @Test + @SuppressWarnings("GuardedBy") public void getUnaryRequest() throws IOException { MethodDescriptor getMethod = MethodDescriptor.newBuilder() .setType(MethodDescriptor.MethodType.UNARY) From a2f4a83da03ecd39e04843393d1362a0297645d0 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 01:26:39 -0500 Subject: [PATCH 23/27] BinaryLogProviderTest for SameNameButDifferent --- .../test/java/io/grpc/services/BinaryLogProviderTest.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/services/src/test/java/io/grpc/services/BinaryLogProviderTest.java b/services/src/test/java/io/grpc/services/BinaryLogProviderTest.java index b6dcbab6e92..6905cbb603d 100644 --- a/services/src/test/java/io/grpc/services/BinaryLogProviderTest.java +++ b/services/src/test/java/io/grpc/services/BinaryLogProviderTest.java @@ -36,7 +36,6 @@ import io.grpc.MethodDescriptor.Marshaller; import io.grpc.MethodDescriptor.MethodType; import io.grpc.ServerCall; -import io.grpc.ServerCall.Listener; import io.grpc.ServerCallHandler; import io.grpc.ServerInterceptor; import io.grpc.ServerMethodDefinition; @@ -127,7 +126,7 @@ public ClientCall newCall( MethodDescriptor methodDescriptor, CallOptions callOptions) { return new NoopClientCall() { @Override - public void start(Listener responseListener, Metadata headers) { + public void start(ClientCall.Listener responseListener, Metadata headers) { listener.set(responseListener); } @@ -211,7 +210,7 @@ public void wrapMethodDefinition_methodDescriptor() throws Exception { method, new ServerCallHandler() { @Override - public Listener startCall( + public ServerCall.Listener startCall( ServerCall call, Metadata headers) { throw new UnsupportedOperationException(); } @@ -310,7 +309,7 @@ public ClientCall interceptCall( assertSame(BinaryLogProvider.BYTEARRAY_MARSHALLER, method.getResponseMarshaller()); return new SimpleForwardingClientCall(next.newCall(method, callOptions)) { @Override - public void start(Listener responseListener, Metadata headers) { + public void start(ClientCall.Listener responseListener, Metadata headers) { super.start( new SimpleForwardingClientCallListener(responseListener) { @Override From 0a2a76b80a49d0affb8507fa4b9d229afbfc20da Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Tue, 31 Dec 2019 07:20:48 -0500 Subject: [PATCH 24/27] prefer our version to perfmark's 2.3.3 --- core/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/build.gradle b/core/build.gradle index 18e4a9bf599..ee12f834d9f 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -16,7 +16,7 @@ dependencies { compile project(':grpc-api'), libraries.gson, libraries.android_annotations, - libraries.errorprone // to avoid using perfmark's dependency + libraries.errorprone // prefer our version to perfmark's 2.3.3 compile (libraries.perfmark) { exclude group: 'com.google.errorprone', module: 'error_prone_annotations' } From 749b67f3886d0fdb32faf0c1605f01c1402d6d9d Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Thu, 2 Jan 2020 13:53:43 -0500 Subject: [PATCH 25/27] Fixed 'FormatMethod from an indirect dependency' --- okhttp/BUILD.bazel | 1 + 1 file changed, 1 insertion(+) diff --git a/okhttp/BUILD.bazel b/okhttp/BUILD.bazel index 7bb646fc5c5..d690086df8f 100644 --- a/okhttp/BUILD.bazel +++ b/okhttp/BUILD.bazel @@ -12,6 +12,7 @@ java_library( "//api", "//core:internal", "@com_google_code_findbugs_jsr305//jar", + "@com_google_errorprone_error_prone_annotations//jar", "@com_google_guava_guava//jar", "@com_google_j2objc_j2objc_annotations//jar", "@com_squareup_okhttp_okhttp//jar", From ef42e8b3bdf2f0cff49657359ef5f11bc1fe2015 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Thu, 2 Jan 2020 13:57:45 -0500 Subject: [PATCH 26/27] SuppressWarnings("GuardedBy") --- cronet/src/test/java/io/grpc/cronet/CronetClientStreamTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cronet/src/test/java/io/grpc/cronet/CronetClientStreamTest.java b/cronet/src/test/java/io/grpc/cronet/CronetClientStreamTest.java index 663d5b50e4c..6ff9d1e92cf 100644 --- a/cronet/src/test/java/io/grpc/cronet/CronetClientStreamTest.java +++ b/cronet/src/test/java/io/grpc/cronet/CronetClientStreamTest.java @@ -94,6 +94,7 @@ void setStream(CronetClientStream stream) { } @Override + @SuppressWarnings("GuardedBy") public void run() { assertTrue(stream != null); stream.transportState().start(factory); From 10ec0cf0fa5cad579059eeb5bbe2859d55696f6e Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Fri, 3 Jan 2020 10:26:04 -0500 Subject: [PATCH 27/27] FakeNameResolverFactory2 --- .../grpc/internal/ManagedChannelImplTest.java | 217 +++++++---------- .../internal/ManagedChannelImplTest2.java | 224 +++++++----------- 2 files changed, 179 insertions(+), 262 deletions(-) diff --git a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java index 810a0884398..99b05926b60 100644 --- a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java +++ b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest.java @@ -603,7 +603,7 @@ public void callsAndShutdownAndShutdownNow() { } private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAfterShutdown) { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -739,7 +739,7 @@ private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAft @Test public void noMoreCallbackAfterLoadBalancerShutdown() { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); @@ -884,7 +884,7 @@ public void callOptionsExecutor() { @Test public void nameResolutionFailed() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = + FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .setError(error) @@ -892,8 +892,7 @@ public void nameResolutionFailed() { channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); assertEquals(1, timer.numPendingTasks(NAME_RESOLVER_REFRESH_TASK_FILTER)); @@ -932,10 +931,8 @@ public void nameResolutionFailed() { public void nameResolutionFailed_delayedTransportShutdownCancelsBackoff() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setError(error) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); @@ -971,8 +968,8 @@ public void nameResolverReturnsEmptySubLists_becomeErrorByDefault() throws Excep String errorDescription = "NameResolver returned no usable address"; // Pass a FakeNameResolverFactory with an empty list and LB config - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); Map serviceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": { \"setting1\": \"high\" } } ] }"); Attributes serviceConfigAttrs = @@ -999,8 +996,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio when(mockLoadBalancer.canHandleEmptyAddressListFromNameResolution()).thenReturn(true); // Pass a FakeNameResolverFactory with an empty list and LB config - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); Map serviceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": { \"setting1\": \"high\" } } ] }"); Attributes serviceConfigAttrs = @@ -1031,8 +1028,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio public void loadBalancerThrowsInHandleResolvedAddresses() { RuntimeException ex = new RuntimeException("simulated"); // Delay the success of name resolution until allResolved() is called - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setResolvedAtStart(false) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); @@ -1052,10 +1049,8 @@ public void loadBalancerThrowsInHandleResolvedAddresses() { @Test public void nameResolvedAfterChannelShutdown() { // Delay the success of name resolution until allResolved() is called. - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -1089,8 +1084,8 @@ public void firstResolvedServerFailedToConnect() throws Exception { InOrder inOrder = inOrder(mockLoadBalancer, subchannelStateListener); List resolvedAddrs = Arrays.asList(badAddress, goodAddress); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1233,8 +1228,8 @@ public void allServersFailedToConnect() throws Exception { List resolvedAddrs = Arrays.asList(addr1, addr2); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1805,8 +1800,8 @@ public void notRefreshNameResolution_whenOobChannelConnectionFailed_idle() { private void subtestNameResolutionRefreshWhenConnectionFailed( boolean isOobChannel, boolean isIdle) { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1823,8 +1818,7 @@ private void subtestNameResolutionRefreshWhenConnectionFailed( MockClientTransportInfo transportInfo = transports.poll(); assertNotNull(transportInfo); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.remove(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); if (isIdle) { channel.enterIdle(); @@ -2045,9 +2039,7 @@ public void pickerReturnsStreamTracer_delayed() { @Test public void getState_loadBalancerSupportsChannelState() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2058,9 +2050,7 @@ public void getState_loadBalancerSupportsChannelState() { @Test public void getState_withRequestConnect() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); requestConnection = false; createChannel(); @@ -2083,9 +2073,7 @@ public void getState_withRequestConnect() { @Test public void getState_withRequestConnect_IdleWithLbRunning() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); @@ -2108,9 +2096,7 @@ public void run() { }; channelBuilder.nameResolverFactory( - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2143,9 +2129,7 @@ public void run() { }; channelBuilder.nameResolverFactory( - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); channel.notifyWhenStateChanged(IDLE, onStateChanged); @@ -2203,16 +2187,15 @@ public void panic_whenReady() { private void subtestPanic(ConnectivityState initialState) { assertNotEquals("We don't test panic mode if it's already SHUTDOWN", SHUTDOWN, initialState); long idleTimeoutMillis = 2000L; - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); assertThat(nameResolverFactory.resolvers).hasSize(1); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.remove(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); final Throwable panicReason = new Exception("Simulated uncaught exception"); if (initialState == IDLE) { @@ -2377,7 +2360,7 @@ public void idleMode_resetsDelayedTransportPicker() { long idleTimeoutMillis = 1000L; channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); channelBuilder.nameResolverFactory( - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build()); createChannel(); @@ -2458,8 +2441,8 @@ public void enterIdleAfterIdleTimerIsNoOp() { @Test public void enterIdle_exitsIdleIfDelayedStreamPending() { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2579,9 +2562,7 @@ protected Subchannel delegate() { @Test public void updateBalancingStateWithShutdownShouldBeIgnored() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2597,13 +2578,12 @@ public void updateBalancingStateWithShutdownShouldBeIgnored() { @Test public void balancerRefreshNameResolution() { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); int initialRefreshCount = resolver.refreshCalled; refreshNameResolutionSafely(helper); assertEquals(initialRefreshCount + 1, resolver.refreshCalled); @@ -2613,15 +2593,12 @@ public void balancerRefreshNameResolution() { public void resetConnectBackoff() { // Start with a name resolution failure to trigger backoff attempts Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setError(error) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); FakeClock.ScheduledTask nameResolverBackoff = getNameResolverRefresh(); @@ -2644,14 +2621,13 @@ public void resetConnectBackoff() { @Test public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver nameResolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); channel.resetConnectBackoff(); @@ -2661,8 +2637,8 @@ public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { @Test public void resetConnectBackoff_noOpWhenChannelShutdown() { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2670,23 +2646,21 @@ public void resetConnectBackoff_noOpWhenChannelShutdown() { assertTrue(channel.isShutdown()); channel.resetConnectBackoff(); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver nameResolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @Test public void resetConnectBackoff_noOpWhenNameResolverNotStarted() { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); requestConnection = false; createChannel(); channel.resetConnectBackoff(); - ManagedChannelImplTest.FakeNameResolverFactory.FakeNameResolver nameResolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @@ -2740,10 +2714,8 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { channelBuilder.maxTraceEvents(10); Status error = Status.UNAVAILABLE.withDescription("simulated error"); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setError(error) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2758,8 +2730,8 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { public void channelTracing_nameResolvedEvent() throws Exception { timer.forwardNanos(1234); channelBuilder.maxTraceEvents(10); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2778,10 +2750,8 @@ public void channelTracing_nameResolvedEvent_zeorAndNonzeroBackends() throws Exc channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(servers) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2820,10 +2790,8 @@ public void channelTracing_serviceConfigChange() throws Exception { channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(servers) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -3224,8 +3192,8 @@ public void retryBackoffThenChannelShutdown_retryShouldStillHappen_newCallShould Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, serviceConfig).build(); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); nameResolverFactory.nextResolvedAttributes.set(attributesWithRetryPolicy); @@ -3333,8 +3301,8 @@ public void hedgingScheduledThenChannelShutdown_hedgeShouldStillHappen_newCallSh Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, serviceConfig).build(); - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); nameResolverFactory.nextResolvedAttributes.set(attributesWithRetryPolicy); @@ -3449,7 +3417,7 @@ public void start(Listener2 listener) { public void shutdown() {} } - final class FakeNameResolverFactory extends NameResolver.Factory { + final class FakeNameResolverFactory2 extends NameResolver.Factory { FakeNameResolver resolver; @Nullable @@ -3464,7 +3432,7 @@ public String getDefaultScheme() { } } - FakeNameResolverFactory factory = new FakeNameResolverFactory(); + FakeNameResolverFactory2 factory = new FakeNameResolverFactory2(); final class CustomBuilder extends AbstractManagedChannelImplBuilder { CustomBuilder() { @@ -3712,10 +3680,9 @@ public void nameResolverHelper_noConfigChosen() { public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); @@ -3747,10 +3714,9 @@ public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -3786,10 +3752,9 @@ public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map serviceConfig = @@ -3841,10 +3806,9 @@ public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { public void enableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3881,10 +3845,9 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3913,10 +3876,9 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Attributes serviceConfigAttrs = Attributes.EMPTY; @@ -3937,10 +3899,9 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() @Test public void useDefaultImmediatelyIfDisableLookUp() throws Exception { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -3964,10 +3925,9 @@ public void useDefaultImmediatelyIfDisableLookUp() throws Exception { @Test public void notUseDefaultImmediatelyIfEnableLookUp() throws Exception { - ManagedChannelImplTest.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -4134,9 +4094,8 @@ Builder setError(Status error) { return this; } - ManagedChannelImplTest.FakeNameResolverFactory build() { - return new ManagedChannelImplTest.FakeNameResolverFactory( - expectedUri, servers, resolvedAtStart, error); + FakeNameResolverFactory build() { + return new FakeNameResolverFactory(expectedUri, servers, resolvedAtStart, error); } } } diff --git a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java index fda96c753b8..38d6cde120d 100644 --- a/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java +++ b/core/src/test/java/io/grpc/internal/ManagedChannelImplTest2.java @@ -606,7 +606,7 @@ public void callsAndShutdownAndShutdownNow() { } private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAfterShutdown) { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = + FakeNameResolverFactory nameResolverFactory = new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -742,16 +742,15 @@ private void subtestCallsAndShutdown(boolean shutdownNow, boolean shutdownNowAft @Test public void noMoreCallbackAfterLoadBalancerShutdown() { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); Status resolutionError = Status.UNAVAILABLE.withDescription("Resolution failed"); createChannel(); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); verify(mockLoadBalancer).handleResolvedAddresses(resolvedAddressCaptor.capture()); assertThat(resolvedAddressCaptor.getValue().getAddresses()).containsExactly(addressGroup); @@ -885,16 +884,15 @@ public void callOptionsExecutor() { @Test public void nameResolutionFailed() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .setError(error) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); assertEquals(1, timer.numPendingTasks(NAME_RESOLVER_REFRESH_TASK_FILTER)); @@ -933,10 +931,8 @@ public void nameResolutionFailed() { public void nameResolutionFailed_delayedTransportShutdownCancelsBackoff() { Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setError(error) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); @@ -972,8 +968,8 @@ public void nameResolverReturnsEmptySubLists_becomeErrorByDefault() throws Excep String errorDescription = "NameResolver returned no usable address"; // Pass a FakeNameResolverFactory with an empty list and LB config - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); Map rawServiceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": { \"setting1\": \"high\" } } ] }"); ManagedChannelServiceConfig2 parsedServiceConfig = @@ -999,8 +995,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio when(mockLoadBalancer.canHandleEmptyAddressListFromNameResolution()).thenReturn(true); // Pass a FakeNameResolverFactory with an empty list and LB config - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); String rawLbConfig = "{ \"setting1\": \"high\" }"; Map rawServiceConfig = parseConfig("{\"loadBalancingConfig\": [ {\"mock_lb\": " + rawLbConfig + " } ] }"); @@ -1036,8 +1032,8 @@ public void nameResolverReturnsEmptySubLists_optionallyAllowed() throws Exceptio public void loadBalancerThrowsInHandleResolvedAddresses() { RuntimeException ex = new RuntimeException("simulated"); // Delay the success of name resolution until allResolved() is called - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setResolvedAtStart(false) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); @@ -1057,10 +1053,8 @@ public void loadBalancerThrowsInHandleResolvedAddresses() { @Test public void nameResolvedAfterChannelShutdown() { // Delay the success of name resolution until allResolved() is called. - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -1094,8 +1088,8 @@ public void firstResolvedServerFailedToConnect() throws Exception { InOrder inOrder = inOrder(mockLoadBalancer, subchannelStateListener); List resolvedAddrs = Arrays.asList(badAddress, goodAddress); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1236,8 +1230,8 @@ public void allServersFailedToConnect() throws Exception { List resolvedAddrs = Arrays.asList(addr1, addr2); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(resolvedAddrs))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1807,8 +1801,8 @@ public void notRefreshNameResolution_whenOobChannelConnectionFailed_idle() { private void subtestNameResolutionRefreshWhenConnectionFailed( boolean isOobChannel, boolean isIdle) { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -1825,8 +1819,7 @@ private void subtestNameResolutionRefreshWhenConnectionFailed( MockClientTransportInfo transportInfo = transports.poll(); assertNotNull(transportInfo); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.remove(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); if (isIdle) { channel.enterIdle(); @@ -2047,9 +2040,7 @@ public void pickerReturnsStreamTracer_delayed() { @Test public void getState_loadBalancerSupportsChannelState() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2060,9 +2051,7 @@ public void getState_loadBalancerSupportsChannelState() { @Test public void getState_withRequestConnect() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); requestConnection = false; createChannel(); @@ -2085,9 +2074,7 @@ public void getState_withRequestConnect() { @Test public void getState_withRequestConnect_IdleWithLbRunning() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); @@ -2110,9 +2097,7 @@ public void run() { }; channelBuilder.nameResolverFactory( - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2145,9 +2130,7 @@ public void run() { }; channelBuilder.nameResolverFactory( - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); channel.notifyWhenStateChanged(IDLE, onStateChanged); @@ -2205,16 +2188,15 @@ public void panic_whenReady() { private void subtestPanic(ConnectivityState initialState) { assertNotEquals("We don't test panic mode if it's already SHUTDOWN", SHUTDOWN, initialState); long idleTimeoutMillis = 2000L; - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); createChannel(); verify(mockLoadBalancerProvider).newLoadBalancer(any(Helper.class)); assertThat(nameResolverFactory.resolvers).hasSize(1); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.remove(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.remove(0); final Throwable panicReason = new Exception("Simulated uncaught exception"); if (initialState == IDLE) { @@ -2379,7 +2361,7 @@ public void idleMode_resetsDelayedTransportPicker() { long idleTimeoutMillis = 1000L; channelBuilder.idleTimeout(idleTimeoutMillis, TimeUnit.MILLISECONDS); channelBuilder.nameResolverFactory( - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build()); createChannel(); @@ -2460,8 +2442,8 @@ public void enterIdleAfterIdleTimerIsNoOp() { @Test public void enterIdle_exitsIdleIfDelayedStreamPending() { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2581,9 +2563,7 @@ protected Subchannel delegate() { @Test public void updateBalancingStateWithShutdownShouldBeIgnored() { channelBuilder.nameResolverFactory( - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setResolvedAtStart(false) - .build()); + new FakeNameResolverFactory.Builder(expectedUri).setResolvedAtStart(false).build()); createChannel(); assertEquals(IDLE, channel.getState(false)); @@ -2599,13 +2579,12 @@ public void updateBalancingStateWithShutdownShouldBeIgnored() { @Test public void balancerRefreshNameResolution() { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); int initialRefreshCount = resolver.refreshCalled; refreshNameResolutionSafely(helper); assertEquals(initialRefreshCount + 1, resolver.refreshCalled); @@ -2615,15 +2594,12 @@ public void balancerRefreshNameResolution() { public void resetConnectBackoff() { // Start with a name resolution failure to trigger backoff attempts Status error = Status.UNAVAILABLE.withCause(new Throwable("fake name resolution error")); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setError(error) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); channelBuilder.nameResolverFactory(nameResolverFactory); // Name resolution is started as soon as channel is created. createChannel(); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver resolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver resolver = nameResolverFactory.resolvers.get(0); verify(mockLoadBalancer).handleNameResolutionError(same(error)); FakeClock.ScheduledTask nameResolverBackoff = getNameResolverRefresh(); @@ -2646,14 +2622,13 @@ public void resetConnectBackoff() { @Test public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver nameResolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); channel.resetConnectBackoff(); @@ -2663,8 +2638,8 @@ public void resetConnectBackoff_noOpWithoutPendingResolverBackoff() { @Test public void resetConnectBackoff_noOpWhenChannelShutdown() { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2672,23 +2647,21 @@ public void resetConnectBackoff_noOpWhenChannelShutdown() { assertTrue(channel.isShutdown()); channel.resetConnectBackoff(); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver nameResolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @Test public void resetConnectBackoff_noOpWhenNameResolverNotStarted() { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri).build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).build(); channelBuilder.nameResolverFactory(nameResolverFactory); requestConnection = false; createChannel(); channel.resetConnectBackoff(); - ManagedChannelImplTest2.FakeNameResolverFactory.FakeNameResolver nameResolver = - nameResolverFactory.resolvers.get(0); + FakeNameResolverFactory.FakeNameResolver nameResolver = nameResolverFactory.resolvers.get(0); assertEquals(0, nameResolver.refreshCalled); } @@ -2742,10 +2715,8 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { channelBuilder.maxTraceEvents(10); Status error = Status.UNAVAILABLE.withDescription("simulated error"); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setError(error) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setError(error).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2760,8 +2731,8 @@ public void channelTracing_nameResolvingErrorEvent() throws Exception { public void channelTracing_nameResolvedEvent() throws Exception { timer.forwardNanos(1234); channelBuilder.maxTraceEvents(10); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); channelBuilder.nameResolverFactory(nameResolverFactory); @@ -2780,10 +2751,8 @@ public void channelTracing_nameResolvedEvent_zeorAndNonzeroBackends() throws Exc channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(servers) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -2820,10 +2789,8 @@ public void channelTracing_serviceConfigChange() throws Exception { channelBuilder.maxTraceEvents(10); List servers = new ArrayList<>(); servers.add(new EquivalentAddressGroup(socketAddress)); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(servers) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri).setServers(servers).build(); channelBuilder.nameResolverFactory(nameResolverFactory); createChannel(); @@ -3231,8 +3198,8 @@ public void retryBackoffThenChannelShutdown_retryShouldStillHappen_newCallShould Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, rawServiceConfig).build(); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); ManagedChannelServiceConfig2 managedChannelServiceConfig = @@ -3345,8 +3312,8 @@ public void hedgingScheduledThenChannelShutdown_hedgeShouldStillHappen_newCallSh Attributes attributesWithRetryPolicy = Attributes .newBuilder().set(GrpcAttributes.NAME_RESOLVER_SERVICE_CONFIG, rawServiceConfig).build(); - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) .setServers(Collections.singletonList(new EquivalentAddressGroup(socketAddress))) .build(); ManagedChannelServiceConfig2 managedChannelServiceConfig = @@ -3470,7 +3437,7 @@ public void start(Listener2 listener) { public void shutdown() {} } - final class FakeNameResolverFactory extends NameResolver.Factory { + final class FakeNameResolverFactory2 extends NameResolver.Factory { FakeNameResolver resolver; @Nullable @@ -3485,7 +3452,7 @@ public String getDefaultScheme() { } } - FakeNameResolverFactory factory = new FakeNameResolverFactory(); + FakeNameResolverFactory2 factory = new FakeNameResolverFactory2(); final class CustomBuilder extends AbstractManagedChannelImplBuilder { CustomBuilder() { @@ -3744,10 +3711,9 @@ public void nameResolverHelper_noConfigChosen() { public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); @@ -3779,10 +3745,9 @@ public void disableServiceConfigLookUp_noDefaultConfig() throws Exception { public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -3818,10 +3783,9 @@ public void disableServiceConfigLookUp_withDefaultConfig() throws Exception { public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map rawServiceConfig = @@ -3873,10 +3837,9 @@ public void enableServiceConfigLookUp_noDefaultConfig() throws Exception { public void enableServiceConfigLookUp_withDefaultConfig() throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3913,10 +3876,9 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( throws Exception { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -3945,10 +3907,9 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_withDefaultConfig( public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() { LoadBalancerRegistry.getDefaultRegistry().register(mockLoadBalancerProvider); try { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map rawServiceConfig = Collections.emptyMap(); @@ -3973,10 +3934,9 @@ public void enableServiceConfigLookUp_resolverReturnsNoConfig_noDefaultConfig() @Test public void useDefaultImmediatelyIfDisableLookUp() throws Exception { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); channelBuilder.disableServiceConfigLookUp(); Map defaultServiceConfig = @@ -4000,10 +3960,9 @@ public void useDefaultImmediatelyIfDisableLookUp() throws Exception { @Test public void notUseDefaultImmediatelyIfEnableLookUp() throws Exception { - ManagedChannelImplTest2.FakeNameResolverFactory nameResolverFactory = - new ManagedChannelImplTest2.FakeNameResolverFactory.Builder(expectedUri) - .setServers(ImmutableList.of(addressGroup)) - .build(); + FakeNameResolverFactory nameResolverFactory = + new FakeNameResolverFactory.Builder(expectedUri) + .setServers(ImmutableList.of(addressGroup)).build(); channelBuilder.nameResolverFactory(nameResolverFactory); Map defaultServiceConfig = parseConfig("{\"methodConfig\":[{" @@ -4181,9 +4140,8 @@ FakeNameResolverFactory.Builder setError(Status error) { return this; } - ManagedChannelImplTest2.FakeNameResolverFactory build() { - return new ManagedChannelImplTest2.FakeNameResolverFactory( - expectedUri, servers, resolvedAtStart, error); + FakeNameResolverFactory build() { + return new FakeNameResolverFactory(expectedUri, servers, resolvedAtStart, error); } } }