Under highly conncurrent write load, the coordinating node would create a connection to any other node that is part of the replica group. Since each connection can be expensive, OOM sitations could occur because there was no bounds on the number of new connections that would be created. If writes on a remote node were slow, connections could pile up an exacerbate the problem. This switches the pool to be bounded and has a checkout that is blocking with a timeout. If a connection is available, it's returned immediately. If the pool still has room for more connections, it will create one if needed. Otherwise, the call will block until a connection becomes available or the timeout expires. In the case of a timeout, it is propogated back up to the PointsWriter that determine what do return to the client. |
||
---|---|---|
.. | ||
backup | ||
help | ||
restore | ||
run | ||
main.go |