Not really sure what the problem was, but updating to 1.7.2 fixed it with zero code changes on my part.
On Thursday, November 9, 2017 at 7:58:45 AM UTC-8, [email protected] wrote: > > gRPC 1.6.7 and Ubuntu 17.04 installed on a MacBook Pro. > > I created a multi-threaded server based on the canonical async server > example where threads block on Next(), get a state object in the tag, do > synchronous calls to another server to get some data, then build a response > and use ServerAsyncResponseWriter to send a response. The state object is > basically just like the CallData object in the example and creates a new > request when a RPC comes in the same was as the CallData object. > > 90-ish% of the time, this works fine. I have tested the server with 1 up > to 4 threads. A client program (provided to me, i.e. I can't modify it) can > spawn a specified number of threads to make simultaneous synchronous calls > to my server. If the client ever uses more than one thread, regardless of > the number of threads in the server, periodically the client will hang > waiting for a response from my server. > > I was able to verify the following: > > * The Finish() process on the ServerAsyncResponseWriter completes > successfully. A Next() call succeeds with `ok` set to True for that state > object after the Finish() call. > > * Using Wireshark, I am able to see the actual response packet leave my > server. However, the client never ACKs the packet, a TCP Retransmission > occurs that is ACK'd by the client, but the client hangs at this point. > > Has anyone seen something similar? With a single thread, my server is > essentially the async server example. > -- 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/d6c8a158-3251-4a90-9448-d735aaf0076c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
