I am able to reproduce these errors consistently. Sure, I will file a issue. Just to be clear these are only server side exceptions. The client does show accurate exceptions.
Also in the case where server receives oversized message it does throw a correct exception in addition to previously mentioned exceptions. I will add all these details on github issue. On Wednesday, January 24, 2018 at 4:38:22 PM UTC-8, Carl Mastrangelo wrote: > > Hmm, those seem like the wrong exceptions to throw. If you can reliably > cause it, we can probably fix it. I know for sure the top stack trace is > wrong. > > Would you mind filing an issue? https://github.com/grpc/grpc-java/issues > > On Wednesday, January 24, 2018 at 1:54:50 PM UTC-8, Anjaneya Srujan > Narkedamalli wrote: >> >> Thank you. >> >> On a similar note, I noticed few exceptions (indicated below) on server >> due to streams not being closed properly (I guess) when either server >> response or client request message size exceeds default limit. >> >> These exceptions are confusing as I initially thought there was some >> other problem apart from message exceeding max message size. I am using >> grpc-java 1.7. >> >> *Error on server when Message from Client Exceeds max message size:* >> Jan 24, 2018 1:41:37 PM io.grpc.netty.NettyServerHandler onStreamError >> WARNING: *Stream Error* >> *io.netty.handler.codec.http2.Http2Exception$StreamException: Received >> DATA frame for an unknown stream 3* >> at >> io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:129) >> at >> io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.shouldIgnoreHeadersOrDataFrame(DefaultHttp2ConnectionDecoder.java:535) >> at >> io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder$FrameReadListener.onDataRead(DefaultHttp2ConnectionDecoder.java:187) >> at >> io.netty.handler.codec.http2.Http2InboundFrameLogger$1.onDataRead(Http2InboundFrameLogger.java:48) >> at >> io.netty.handler.codec.http2.DefaultHttp2FrameReader.readDataFrame(DefaultHttp2FrameReader.java:421) >> at >> io.netty.handler.codec.http2.DefaultHttp2FrameReader.processPayloadState(DefaultHttp2FrameReader.java:251) >> at >> io.netty.handler.codec.http2.DefaultHttp2FrameReader.readFrame(DefaultHttp2FrameReader.java:160) >> at >> io.netty.handler.codec.http2.Http2InboundFrameLogger.readFrame(Http2InboundFrameLogger.java:41) >> at >> io.netty.handler.codec.http2.DefaultHttp2ConnectionDecoder.decodeFrame(DefaultHttp2ConnectionDecoder.java:118) >> at >> io.netty.handler.codec.http2.Http2ConnectionHandler$FrameDecoder.decode(Http2ConnectionHandler.java:383) >> at >> io.netty.handler.codec.http2.Http2ConnectionHandler.decode(Http2ConnectionHandler.java:443) >> at >> io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) >> at >> io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) >> at >> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) >> at >> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) >> at >> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935) >> at >> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580) >> at >> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497) >> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) >> at >> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) >> at >> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138) >> at java.lang.Thread.run(Thread.java:745) >> >> *Error on Server when message response from server exceeds max message >> size:* >> Jan 24, 2018 1:48:38 PM io.grpc.netty.NettyServerHandler onStreamError >> *WARNING: Stream Error* >> *io.netty.handler.codec.http2.Http2Exception$StreamException: Stream >> closed before write could take place* >> at >> io.netty.handler.codec.http2.Http2Exception.streamError(Http2Exception.java:149) >> at >> io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel(DefaultHttp2RemoteFlowController.java:499) >> at >> io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel(DefaultHttp2RemoteFlowController.java:480) >> at >> io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$1.onStreamClosed(DefaultHttp2RemoteFlowController.java:105) >> at >> io.netty.handler.codec.http2.DefaultHttp2Connection.notifyClosed(DefaultHttp2Connection.java:349) >> at >> io.netty.handler.codec.http2.DefaultHttp2Connection$ActiveStreams.removeFromActiveStreams(DefaultHttp2Connection.java:985) >> at >> io.netty.handler.codec.http2.DefaultHttp2Connection$ActiveStreams.deactivate(DefaultHttp2Connection.java:941) >> at >> io.netty.handler.codec.http2.DefaultHttp2Connection$DefaultStream.close(DefaultHttp2Connection.java:497) >> at >> io.netty.handler.codec.http2.DefaultHttp2Connection.close(DefaultHttp2Connection.java:153) >> at >> io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder.channelInactive(Http2ConnectionHandler.java:221) >> at >> io.netty.handler.codec.http2.Http2ConnectionHandler.channelInactive(Http2ConnectionHandler.java:422) >> at >> io.grpc.netty.NettyServerHandler.channelInactive(NettyServerHandler.java:478) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) >> at >> io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224) >> at >> io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1354) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245) >> at >> io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231) >> at >> io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:917) >> at >> io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:822) >> at >> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) >> at >> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) >> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) >> at >> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) >> at >> io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138) >> at java.lang.Thread.run(Thread.java:745) >> >> -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/a41d26c2-1716-4547-8c1f-5d5c8d95fed6%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
