Details
Description
In the scenario that a user scales their client libraries or other connections beyond the maximum number of allowed connections, various services (K-V, ns_server, views) should signal the exhaustion of resources in a reliable way and we should document and test to that.
For K-V, I believe the current situation is that after we hit max connections, new connections will be accepted by the process but immediately dropped. I know memcached has a few different options here, like dropping an older connection.
I believe that for K-V, we should consider accept()ing the connection and then perhaps introduce a new error code that indicates connection exhaustion followed by shutdown() on the connection. This way the client library and other parts of the system can at least log the error appropriately. I'm open to other suggestions from the component owners on how this should be fixed/documented though.
I believe I filed this before, but can't find it, and it came up in discussion of MB-11066
For other services, I believe MB-8211 covers the need since right now there is no maximum.
p.s.: I don't know that I got the right components here. please adjust as required.