What is the domain you are connecting to, and do you have security setup? I looks like you are able to connect to the server, but it is shutting down the connection before you can start the RPC.
On Thursday, December 22, 2016 at 1:00:36 AM UTC-8, Ankur Chauhan wrote: > > > I am building a grpc server that queries Google cloud bigtable and based > on a user request and delivers a stream of de-serialized (protobuf) rows to > the user. > > I have noticed that there are a lot of "Stream Error" messages in logs: > > "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:147) > at > io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel(DefaultHttp2RemoteFlowController.java:487) > at > io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$FlowState.cancel(DefaultHttp2RemoteFlowController.java:468) > at > io.netty.handler.codec.http2.DefaultHttp2RemoteFlowController$1.onStreamClosed(DefaultHttp2RemoteFlowController.java:103) > at > io.netty.handler.codec.http2.DefaultHttp2Connection.notifyClosed(DefaultHttp2Connection.java:343) > at > io.netty.handler.codec.http2.DefaultHttp2Connection$ActiveStreams.removeFromActiveStreams(DefaultHttp2Connection.java:1168) > at > io.netty.handler.codec.http2.DefaultHttp2Connection$ActiveStreams.deactivate(DefaultHttp2Connection.java:1116) > at > io.netty.handler.codec.http2.DefaultHttp2Connection$DefaultStream.close(DefaultHttp2Connection.java:522) > at > io.netty.handler.codec.http2.DefaultHttp2Connection.close(DefaultHttp2Connection.java:149) > at > io.netty.handler.codec.http2.Http2ConnectionHandler$BaseDecoder.channelInactive(Http2ConnectionHandler.java:181) > at > io.netty.handler.codec.http2.Http2ConnectionHandler.channelInactive(Http2ConnectionHandler.java:374) > at > io.grpc.netty.NettyServerHandler.channelInactive(NettyServerHandler.java:274) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:256) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:242) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:235) > at > io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:360) > at > io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:325) > at > io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:726) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:256) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:242) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:235) > at > io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1329) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:256) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:242) > at > io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:908) > at > io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:744) > at > io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) > at > io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:418) > at > io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:312) > at > io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873) > at > io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) > at java.lang.Thread.run(Thread.java:745) > > > My method is pretty basic and the following snippet captures the essence > of the service call. > > final Stream<Row> rowStream = streamFromBigTable(request); > final ServerCallStreamObserver<Row> responseObserver = > (ServerCallStreamObserver<Row>) _responseObserver; > StreamObservers.copyWithFlowControl(rowStream.iterator(), > responseObserver); > > Can someone elaborate on the origin on these error messages? They seem bad > but I can't seem to find how to control them. > > -- Ankur Chauhan > > -- 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/fe7ee8a8-fd52-49c1-85af-ab1449ecb0e2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
