On Sat, Jun 25, 2016 at 4:36 AM, Taehyun Park <[email protected]>
wrote:

> I'm using grpc java on Android and I found a very weird issue. After a
> certain period a ManagedChannel no longer works.
>

Was that after a period of inactivity? Were you on good WiFi (one that you
trust), bad WiFi, or cellular?

I instantiated a ManagedChannel when there is no cached channel then cache
> it until the number of active channels is 0. My app worked fine and didn't
> have a problem when it's launched. but all grpc calls stopped working after
> a certain period. The app wasn't closed but it was in a backstack.
> I searched a similar issue in grpc issue tracker on github but I'm not
> sure if https://github.com/grpc/grpc-java/issues/1636 and
> https://github.com/grpc/grpc-java/issues/1648 are the issue I'm having.
>

When discussing keepalive, the general assumption is the network misbehaved
(which is not uncommon on mobile). Keepalive is only going to be active
when an RPC is outstanding. That means that it will need to be combined
with channel idleness to close TCP connections after inactivity.

https://github.com/grpc/grpc-java/issues/1972
https://github.com/grpc/grpc-java/issues/1276

Both are planned for 1.0 in order to give a full solution to this sort of
issue (assuming that failures are due to poor networks). Idleness in
general is useful. With it you really don't have much reason to cache the
channel like you were. You could create the channel eagerly (which starts
IDLE) and the channel can release resources when there is a period of
inactivity.

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/CA%2B4M1oM%2Bqm_C8YWsRVbjfyC9WD9uH3bzQ6M3%2B7BuON6Z_UnDcQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to