diff --git a/netty/src/main/java/io/grpc/netty/NettyServerTransport.java b/netty/src/main/java/io/grpc/netty/NettyServerTransport.java index 3638dd5b0d..d9e0bdedac 100644 --- a/netty/src/main/java/io/grpc/netty/NettyServerTransport.java +++ b/netty/src/main/java/io/grpc/netty/NettyServerTransport.java @@ -38,6 +38,7 @@ import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; import java.io.IOException; import java.net.SocketAddress; +import java.net.SocketException; import java.util.List; import java.util.concurrent.ScheduledExecutorService; import java.util.logging.Level; @@ -186,6 +187,7 @@ class NettyServerTransport implements ServerTransport { @VisibleForTesting static Level getLogLevel(Throwable t) { if (t.getClass().equals(IOException.class) + || t.getClass().equals(SocketException.class) || QUIET_EXCEPTIONS.contains(t.getClass().getSimpleName())) { return Level.FINE; } diff --git a/netty/src/test/java/io/grpc/netty/NettyServerTransportTest.java b/netty/src/test/java/io/grpc/netty/NettyServerTransportTest.java index 41e7791a2b..c4e0b4a2e2 100644 --- a/netty/src/test/java/io/grpc/netty/NettyServerTransportTest.java +++ b/netty/src/test/java/io/grpc/netty/NettyServerTransportTest.java @@ -22,6 +22,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import java.io.IOException; +import java.net.SocketException; import java.util.logging.Level; import org.junit.Test; import org.junit.runner.RunWith; @@ -34,6 +35,11 @@ public class NettyServerTransportTest { assertEquals(Level.INFO, getLogLevel(new Exception())); } + @Test + public void socketException() { + assertEquals(Level.FINE, getLogLevel(new SocketException("Connection reset"))); + } + @Test public void ioException() { assertEquals(Level.FINE, getLogLevel(new IOException("Connection reset by peer")));