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.
