Ok. let me explain the complete scenario
1) I have a gRPC server which provides a server streaming RPC, my
application is a client which needs to invoke this RPC and keep listening
to the data written by the server (until the RPC is closed).
The problem here is that in the server side if they detect that the
connection has problem (while writing the data to the RPC), they consider
this RPC as closed and *client need to re-invoke it**.*
In grpc java 1.0.1 i don't have mechanism in client to know the
connection was broken and i need to restart the RPC.
I have done some test, when we stop the server, in client side
streamobserver, the overloaded method warning(String msg, Object... params)
is invoked
But when i disconnect the network between client and server, the server
can get to know but client doesn't get to know about it and the observer
keeps on idle.
2) I am using NettyChannelBuider to build the channel with the gRPC
server, (I hope all types of channelbuilder uses http2)
3) If somehow I can convince the product team to upgrade the grpc-java
version, will it be able to communicate with c based grpc 1.0.1 version
server?
On Wednesday, June 21, 2017 at 11:56:59 PM UTC+5:30, Eric Anderson wrote:
>
> On Wed, Jun 21, 2017 at 3:10 AM, <[email protected] <javascript:>>
> wrote:
>
>> Hi Eric, thanks for the response but i have to problems
>> 1) I am using grpc-java 1.0.1 which does not support this Interface (The
>> product team has decided on grpc version)
>>
>
> Sorry, but the feature wasn't available in 1.0.x.
>
> The only workaround in that case is to send "noop/trash" messages/RPCs
> periodically. Basically, TCP needs *writes* in order to discover *read*
> failures,
> so you generate noop writes on the TCP connection. If you receive GOAWAY
> from the server (like during server shutdown or server rotation), then any
> new RPCs will use a different connection, thus won't help you detect if the
> old connection is broken. Depending on your setup, that may not be much of
> a problem (e.g., if the server closes the connection soon after sending the
> GOAWAY). Using noop messages on the same RPC stream (by making it a bidi
> streaming RPC) wouldn't have that deficiency, but you'd also need to do the
> noop messages on all active streams and have to change more of your
> application logic.
>
> 2) The keepalive time is not fixed.
>>
>
> I don't understand this.
>
> Also i have a doubt about the whether grpc java 1.0.1 can support http2. I
>> found c based grpc 1.0.1 and grpc-java 1.0.1 has many different functions
>>
>
> I don't understand what you mean by functions. Could you explain more? It
> sounds like this is unrelated to the network break detection.
>
--
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/6e76eb90-455b-4a0b-9f6c-c88ba45f3a8a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.