-
Notifications
You must be signed in to change notification settings - Fork 820
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
Rust SDK does not wait for connection to be ready #938
Comments
A couple of thoughts:
|
@thara can you please help on this ticket? |
Thanks for your mention. I try to reproduce this in my free time.
I agree with the suggestion. It might be good to add a method into Rust SDK like |
I don't know the rust idioms to know if that makes more sense. The go sdk does the (blocking) connection in the |
From memory, I had to have the C++ |
- Uses a simple polling mechanism to confirm the connection is live - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. - Add `ready` to the SDK documentation. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. - Add `ready` to the SDK documentation. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. - Add `ready` to the SDK documentation. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Add `ready` to the SDK documentation. - Implements and documents a sdk.connect() function - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Add `ready` to the SDK documentation. - Implements and documents a sdk.connect() function - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Add `ready` to the SDK documentation. - Implements and documents a sdk.connect() function - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Add `ready` to the SDK documentation. - Implements and documents a sdk.connect() function - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Add `ready` to the SDK documentation. - Implements and documents a sdk.connect() function - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. Fixes googleforgames#938
- Uses a simple polling mechanism to confirm the connection is live - Add `ready` to the SDK documentation. - Implements and documents a sdk.connect() function - Tweaks the conformance tests to add a random delay to ensure future testing of SDK blocking. Fixes #938
What happened: rust-simple doesn't work on a GKE cluster
What you expected to happen: gameserver to transition to Ready
How to reproduce it (as minimally and precisely as possible): Run the example code from my pending PR: #937
Anything else we need to know?:
Environment:
kubectl version
): 1.12make install
)When launching the simple rust server, the gameserver starts up really fast, tries to connect to the sidecar and fails, and then restarts. This immediate restart causes the gameserver to become unhealthy, even though the second time around it successfully connects to the sidecar and is sending health() messages every 2 seconds.
It seems like the underlying issue is that the rust SDK isn't blocking when initially trying to connect to the sidecar.
In the C++ SDK, we have
The Rust SDK has a comment that makes me think it's doing the same thing:
but I don't see anything in the code that blocks, nor do I see anything in the Rust docs for Channel that matches the WaitForConnected function in the C++ gRPC docs.
The text was updated successfully, but these errors were encountered: