-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Send GOAWAY on client shutdown #460
Comments
Dupe of #147. |
#147 is server-side, this is client-side. |
Any update on this? |
+1, currently seems there's no way to close a clientconn gracefully, the transport is not accessible from outside of clientconn, so it's not possible to send Goaway to the transport |
@shuaichang is the current behavior causing problems for you? IIUC, this is a pretty minor issue in that it would allow the server to more quickly clean up when a client disconnects, but is not a high priority issue. Maybe you're more interested in #1104? |
We implemented a client conn cache and sometime need to evict some conn out of cache and close it, without a graceful Close method, we will have implement something based on timeout, which is sub-optimal comparing to the grpc transport.GracefulClose. Seems the function is there, but not exported out of the package |
@shuaichang thanks for the explanation. That feature request is #1104, not this issue. This issue is about sending an HTTP2 GOAWAY frame before closing a connection, regardless of whether we allow existing streams on that connection to continue. |
Cool, I'll +1 in that issue |
Hi, I'd like to take a shot at it if its already not done. I'm new at go and learning. is it done? |
No, this is not done. Feel free to send a PR or let us know if you have questions. Thanks! |
Sorry for delayed reply, I'll get on it. |
Closes grpc#188 Revert change discussed in grpc/grpc.io#186 (comment)
Hi I'd be interested in resolving this issue. |
The HTTP/2 spec encourages sending GOAWAY before dropping the connection. GOAWAY is necessary for "graceful" shutdowns.
When error handling:
In the GOAWAY frame description section:
.
When discussing connection management:
The text was updated successfully, but these errors were encountered: