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.

Reply via email to