-
Notifications
You must be signed in to change notification settings - Fork 9.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
Evaluate & potentially replace https://github.com/soheilhy/cmux
#18032
Comments
cc @aojea |
The ServeHTTP is still experimental feature in gRPC side https://pkg.go.dev/google.golang.org/grpc#Server.ServeHTTP. |
Using separate connections is much better as shown by #15402, however removing connection multiplexing would be a breaking change for users. If we look at the list of endpoints in #15402 (comment), the most impacted would be would be:
|
We encountered this issue grpc/grpc-go#7261 caused by |
@rleungx Looked into the problem. Doesn't look it affects etcd as we don't allow arbitrary as we don't use stream requests with large amounts of data. |
We are using the embedded etcd which handles both HTTP and gRPC requests. |
What would you like to be added?
etcdserver depends on https://github.com/soheilhy/cmux to receive both gRPC and REST connections on the same TCP listener/port. But the library isn't well maintained; note it hasn't been updated for more than 3 years at the time of writing this ticket. It also has issue working with HTTP/2, please refer to soheilhy/cmux/issues.
We should evaluate & summarize the problems the library has, and
I expect someone with more network expertise could drive this effort.
Why is this needed?
See above
The text was updated successfully, but these errors were encountered: