-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stub.withWaitForReady()'s DEADLINE_EXECEEDED lacks connection failure information #10749
Comments
Drive-by comment: What needs to happen here is we enhance DelayedStream/PendingStream to remember the last pick failure and then add it during |
I don't think we'd provide any guarantees that you can programatically distinguish between the server can't be contacted and invalid client certs. In particular, I believe the exact error you get for invalid client certs even without waitForReady can vary depending on lots of details. But for this we can make it so a human could know which case was being hit. |
By this you mean to remember shutdownStatus of PickerState? To do so, we should define a data member in DelayedStream.java and update this inside the PendingStream as it has access to PickerState. And then adding it during appendTimeoutInsight() if there is no real stream in DelayedStream! |
No, not |
There is no way to distinguish the underlying cause of failure , say if the failure is due to SSLHanshake or server genuinely not being available.
As an alternative, without using withWaitForReady() we are receiving UNAVAILABLE code in StatusRuntimeException which wraps the underlying cause say for example the SSLHandshake exception. Looking at the UNAVAILABLE code how can we safely take a call if we to reattempt connection, as we do not want to reattempt the connection in SSLException scenarios?
The text was updated successfully, but these errors were encountered: