-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
server: introduce a new port for HTTP requests #5039
Conversation
LGTM 8080 is a common default port for many things; I'm worried about the risk of conflict there. I don't have any better ideas for a default, though, unless we default to a kernel-assigned port (and print it out at startup) or make the HTTP interface opt-in until we can get it working on 26257 again. |
Yeah, the idea of opting in to the HTTP interface came up in discussion On Wed, Mar 9, 2016 at 6:26 PM, Ben Darnell notifications@github.com
|
LGTM Review status: 0 of 22 files reviewed at latest revision, all discussions resolved. Comments from the review on Reviewable.io |
LGTM. Reviewed 3 of 3 files at r1. acceptance/terrafarm/farmer.go, line 171 [r1] (raw file): Comments from the review on Reviewable.io |
Review status: 1 of 22 files reviewed at latest revision, 1 unresolved discussion, some commit checks failed. acceptance/terrafarm/farmer.go, line 171 [r1] (raw file): Comments from the review on Reviewable.io |
Reviewed 1 of 1 files at r2, 4 of 4 files at r3, 16 of 16 files at r4, 4 of 4 files at r5. Comments from the review on Reviewable.io |
This reverts commit 70df752.
This reverts commit f3e9549.
It turns out that accurately using cmux to sniff grpc connections is hard. Most h2 clients behave as follows after connecting: * S(Settings) -> S(WindowUpdate) -> R(SettingsAck) -> S(Headers) Where S indicates sending and R indicates receiving. grpc-go's h2 client behaves differently - it does not wait for the SettingsAck. This allowed the old implementation to detect it based on the headers it supplied, but broke all other h2 clients as connection negotiation deadlocked. This commit can be reverted wholesale when grpc.(*Server).ServeHTTP's performance problems are addressed upstream. See grpc/grpc-go#586. Fixes #5020. Fixes #5023.
server: introduce a new port for HTTP requests
This does not appear to raise an error if "--port" is set to 8081, but "httpport" is not set to anything else. It still prints out:
But trying to connect to it just spits out garbage, because that is not the http endpoint. |
It turns out that accurately using cmux to sniff grpc connections is
hard. Most h2 clients behave as follows after connecting:
Where S indicates sending and R indicates receiving.
grpc-go's h2 client behaves differently - it does not wait for the
SettingsAck. This allowed the old implementation to detect it based on
the headers it supplied, but broke all other h2 clients as connection
negotiation deadlocked.
This commit can be reverted wholesale when grpc.(*Server).ServeHTTP's
performance problems are addressed upstream.
See grpc/grpc-go#586.
Fixes #5020.
Fixes #5023.
This change is