Javadoc
Pool size:
Always keep
CassandraKeyValueServiceConfig#poolSize() connections around, per host. Allow bursting
up to
CassandraKeyValueServiceConfig#maxConnectionBurstSize() connections per host under load.
Borrowing from pool:
On borrow, check if the connection is actually open. If it is not,
immediately discard this connection from the pool, and try to take another.
Borrow attempts against a fully in-use pool immediately throw a NoSuchElementException.
CassandraClientPool when it sees this will:
Follow an exponential backoff as a method of back pressure.
Try 3 times against this host, and then give up and try against different hosts 3 additional times.
In an asynchronous thread (using default values):
Every 20-30 seconds, examine approximately a tenth of the connections in pool.
Discard any connections in this tenth of the pool whose TCP connections are closed.
Discard any connections in this tenth of the pool that have been idle for more than 10 minutes,
while still keeping a minimum number of idle connections around for fast borrows.