Hello, We never reproduced this issue, but I wanted to know if you (or any others on the forum) were still experiencing it. I may be able to help get this investigated if it's still a concern. Regards, Vijay S. Pai
On Wednesday, May 18, 2016 at 12:40:53 PM UTC-7, [email protected] wrote: > > > Hello, > > grpc C++, RELEASE_13_1, running on Android 4.4. > > > My grpc client fails to re-connect to a server if I physically disconnect > the network, wait some time (> 10 mins), and then reconnect the network. > > GRPC_TRACE is set to "connectivity_state" and I periodically check the > state by calling channel->GetState(false): > > 1. Starting client (4 streaming services multiplexed on 1 channel): > > 16:57:09.281237 [ grpc] <DEBUG> CONWATCH: 0x7548dabc pick_first: get > IDLE > 16:57:09.282513 [ grpc] <DEBUG> SET: 0x75485058 client_channel: IDLE > --> IDLE [new_lb+resolver] > 16:57:09.284304 [ grpc] <DEBUG> CONWATCH: 0x7548dabc pick_first: from > IDLE [cur=IDLE] notify=0x7548c33c > 16:57:09.285091 [ grpc] <DEBUG> CONWATCH: 0x7548ca74 subchannel: from > IDLE [cur=IDLE] notify=0x7548c364 > 16:57:09.287457 [ grpc] <DEBUG> SET: 0x7548ca74 subchannel: IDLE --> > CONNECTING [state_change] > 16:57:09.289711 [ grpc] <DEBUG> SET: 0x7548dabc pick_first: IDLE --> > CONNECTING [connecting_changed] > 16:57:09.291326 [ grpc] <DEBUG> CONWATCH: 0x7548ca74 subchannel: from > CONNECTING [cur=CONNECTING] notify=0x7548c364 > 16:57:09.292361 [ grpc] <DEBUG> SET: 0x75485058 client_channel: IDLE > --> CONNECTING [lb_changed] > 16:57:09.293598 [ grpc] <DEBUG> CONWATCH: 0x7548dabc pick_first: from > CONNECTING [cur=CONNECTING] notify=0x75485d1c > 16:57:09.559146 [ grpc] <DEBUG> CONWATCH: 0x754b626c > client_transport: from READY [cur=READY] notify=0x754b0c98 > 16:57:09.560757 [ grpc] <DEBUG> SET: 0x7548ca74 subchannel: > CONNECTING --> READY [connected] > 16:57:09.581935 [ grpc] <DEBUG> SET: 0x7548dabc pick_first: > CONNECTING --> READY [connecting_ready] > 16:57:09.588590 [ grpc] <DEBUG> CONWATCH: 0x754b626c > client_transport: from READY [cur=READY] notify=0x7548da94 > 16:57:09.589425 [ grpc] <DEBUG> SET: 0x75485058 client_channel: > CONNECTING --> READY [lb_changed] > 16:57:09.590138 [ grpc] <DEBUG> CONWATCH: 0x7548dabc pick_first: from > READY [cur=READY] notify=0x7548a7fc > > > 2. Checking connectivity > > 16:57:54.025261 [ grpc] <DEBUG> CONWATCH: 0x75485058 client_channel: > get READY > > 3. Disconnect cable (client continues to write to server - output socket > buffer filling - up to a point) > > 16:59:39.033484 [ grpc] <DEBUG> CONWATCH: 0x75485058 client_channel: > get READY > > Both connections to the server remain open. > > 4. After 18 minutes or so: > > 17:17:39.616776 [ grpc] <DEBUG> SET: 0x754b626c client_transport: > READY --> FATAL_FAILURE [close_transport] > 17:17:39.618827 [ grpc] <DEBUG> SET: 0x7548dabc pick_first: READY --> > FATAL_FAILURE [selected_changed] > 17:17:39.619160 [ grpc] <DEBUG> SET: 0x7548ca74 subchannel: READY --> > FATAL_FAILURE [reflect_child] > 17:17:39.619854 [ grpc] <DEBUG> SET: 0x75485058 client_channel: READY > --> TRANSIENT_FAILURE [lb_changed] > > At this point all services fail. We retry by closing and opening new > service instances. We're using the blocking API so the new service > instances are blocked in the ClientReaderWriter constructor on the > completion queue. > Both connections the the server are closed. All this seems OK so far. > > 5. A few minutes later: > > 17:19:01.573006 [ grpc] <ERROR> getaddrinfo: No address associated > with hostname > 17:19:01.573913 [ grpc] <DEBUG> SET: 0x7548dabc pick_first: > FATAL_FAILURE --> FATAL_FAILURE [shutdown] > 17:19:01.574632 [ grpc] <DEBUG> CONWATCH: 0x754b626c > client_transport: unsubscribe notify=0x7548da94 > 17:19:01.575053 [ grpc] <DEBUG> SET: 0x75485058 client_channel: > TRANSIENT_FAILURE --> TRANSIENT_FAILURE [new_lb+resolver] > > > 6. Reconnect cable: > > 17:23:55.667141 [ grpc] <DEBUG> CONWATCH: 0x75485058 client_channel: > get TRANSIENT_FAILURE > > Still in TRANSIENT_FAILURE state. The client never attempts to reconnect > again. > > > Any ideas? Thanks! > > > > > -- 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/7d833f08-976d-4a0e-b655-ecd557c42871%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
