Hello. I'm debugging bidirectional streaming application. A server thread 
obtains a client StreamObserver, sends a message and waits 
(countDownLatch), while a call back receives and processes client messages 
until it receives a "done" message. When "done", countdown() is called on 
the latch and the StreamObserver is made available to other server threads.

When a client receives a call, it blocks while also emitting to the 
serverStream, ending with the "done" message. That is when the 
onNext(serverMessage) call becomes unblocked. This blocking causes all 
other threads to go into a WAITING state. Even streams created from 
different channels/thread-pools have this problem. I'm guessing this is 
expected behavior, having to do with the event execution? How can this be 
avoided?

Thanks,
- Matt

-- 
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/d3ffa51c-93e3-4c46-b9bf-8b76ef60f53d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to