Results 13 issues of ZHANG Dapeng

```java public abstract class Abstract { static class Base { public T add(T a) { return a; } } static class Ext extends Base { } public static boolean test()...

I'm using [errorprone](https://github.com/google/error-prone) gradle [plugin](https://github.com/tbroyer/gradle-errorprone-plugin) together with java-oo. The gradle.build file is like this: ```gradle plugins { id "java" id "net.ltgt.errorprone" version "0.0.11" } repositories { maven { url 'http://amelentev.github.io/mvnrepo/'...

Bumping grpc-servlet (#8596) to v1.47.0, I found the test messageProducerOnlyProducesRequestedMessages is failing for all serlvet containers (Jetty, Tomcat and Undertow). ``` java.lang.AssertionError: Timed out waiting for server transport at org.junit.Assert.fail(Assert.java:88)...

Since v1.37.0, the client channel would panic if receives CDS update with RING_HASH lb policy. ``` SEVERE: [Channel: (xds:///wallet.grpcwallet.io)] Uncaught exception in the SynchronizationContext. Panic! java.lang.NullPointerException: provider at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:910) at...

bug

The goal is as described in #1621 to add the ability to run a gRPC server as a Servlet on any web container with the Servlet 4.0 support and HTTP/2...

As per the spec go/grpc-rls-lb-policy-design >At config-validation time, we must construct and validate the config for the child policy, but we don't yet know the target name to use for...

enhancement

``` UndertowTransportTest.clientCancelFromWithinMessageRead java.util.concurrent.TimeoutException: Waited 5 seconds (plus 6605680 nanoseconds delay) for SettableFuture@7c0e4e4e[status=PENDING] at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:508) at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:111) at io.grpc.internal.AbstractTransportTest.clientCancelFromWithinMessageRead(AbstractTransportTest.java:1280) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at...

In hedging, multiple `substreamListener.onReady()` may be invoked concurrently, that may result in excessive `masterListener.onReady()` calls (although synchronized). This PR reduces some obvious excessive `onReady()` calls, by checking individual substream's `isReady()`...