openzipkin/zipkin-gcp

AwaitableUnaryClientCallListener still holds lock after onMessage

meltsufin opened this issue · 7 comments

Contrary to the javadoc on AwaitableUnaryClientCallListener that says Blocks until {@link #onMessage} or {@link #onClose}., it continues blocking after onMessage until onClose is called.

Potentially related to: spring-attic/spring-cloud-gcp#1118 where we're seeing hanging threads.

agreed. the next task is to figure out why awaiting until a status was received is a problem

Thanks for reporting the doc bug. Feel free to open another issue if there's a new behavior we need to be aware of, or if there is a condition which escapes the onClose callback.

Thanks for fixing the doc. What do you think of having a timeout when waiting on the count-down-latch?

You can see some results of the investigation here: spring-attic/spring-cloud-gcp#1118.
I'm still not sure why it would ever be better to wait indefinitely than some specified timeout. Waiting indefinitely just masks the problem longer, whereas a failure at timeout at least gives an earlier indication that something is wrong.