-
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
Support graceful server shutdown #147
Milestone
Comments
Nice to see lameduck mode being planned :) |
@iamqizhao, can you provide any tips as to how to get started here? Is the logic inside |
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Jan 31, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 1, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 1, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 1, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 4, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 4, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 4, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 5, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 8, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 9, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 9, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 9, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
Closed
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 9, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 10, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 11, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 11, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 11, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
bradfitz
added a commit
to bradfitz/grpc-go
that referenced
this issue
Feb 12, 2016
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
Is there anything I can do to help with this? I'm also looking for a way to gracefully shutdown a grpc server. |
What is the status of this item? |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
A server that is attempting to gracefully shut down a
connection SHOULD send an initial GOAWAY frame with the last stream
identifier set to 2^31-1 and a NO_ERROR code. This signals to the
client that a shutdown is imminent and that no further requests can
be initiated. After waiting at least one round trip time, the server
can send another GOAWAY frame with an updated last stream identifier.
This ensures that a connection can be cleanly shut down without
losing requests.
The text was updated successfully, but these errors were encountered: