-
Notifications
You must be signed in to change notification settings - Fork 620
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
@grpc/grpc-js & SO_REUSEPORT #1547
Comments
UPD have all my contract tests passing. To sum up - any chance you will consider runtime mutation APIs or should I stay with my monkey patching on my own risk? |
I'm sorry, I meant to reply to this earlier. As far as I can tell, there was never a strong reason to have that restriction on registering services after starting the server, especially on Node, where there isn't any significant concern about synchronizing between mutating the registered handlers map and dispatching incoming requests. So, I would be OK with removing that restriction entirely. Removing services is a little trickier because there isn't an existing API for that, so we'll have to add one. The Also, regarding the original question about SO_REUSEPORT, Node does not provide any JavaScript API to set that option. That's less about nghttp2, and more about Node's |
Hey Michael. I guess there could be On top of that we can have WDYT? |
I think it can just be |
Sounds great. I can try and make a PR. Just need to make sure I understand all the tests setup. |
I'm sorry for the silence here. I thought I responded to the last comment. If you're still interested, tests for this would just need to go in the |
@murgatroid99 here's my PR #1614 linter checks fail in |
@murgatroid99 thanks! |
Hello, when does this feature SO_REUSEPORT release in @grpc/grpc-js? |
The title doesn't exactly match what this issue ended up being about. It is primarily a request for the ability to add and remove services from a running server, and that is implemented in the latest release 1.2.0. |
Is your feature request related to a problem? Please describe.
Another discrepancy with
grpc-native
we found on linux is inability to bind multiplegrpc.Server
instances on the same port in@grpc/grpc-js
.We have a requirement to load/unload services without downtime and since both implementations do not allow that what we did was bringing up a new instance of server with the new set of services and gracefully shutting down the previous instance. Worked like magic with
grpc-native
.Didn't dive too deep but it looks like the problem goes all the way to node's
http2
and evennghttp2
. At least I couldn't find any mentions of that option.The text was updated successfully, but these errors were encountered: