|
Today, it's possible to configure the server to accept connections from certain addresses even if the max number of connections has already been reached (net.maxIncomingConnectionsOverride option), for example to ensure that DB admins can always access the server to perform maintenance.
Currently, maxConnections doesn't apply to gRPC, but the net.grpc.maxThreads limit does, which will cause the server to reject any RPCs once that number has been hit, without any consideration for privileged usecases. We should explore options for how to address this.
A few ideas:
- Introduce a new net.grpc.maxStreams option, and reuse the privileged users list from net.maxIncomingConnectionsOverride to determine whether an RPC can be permitted to run
- Allow using a separate port for admin connections
Since ingress gRPC will be running alongside asio, the existing override can continue to be used, so there is a workaround for the time being.
|