public class BusyPoolException extends DriverException implements CoordinatorException
This happens if the pool has no connections (for example if it's currently reconnecting to its
host), or if all connections have reached their maximum number of in flight queries. The query
will be retried on the next host in the query
plan
.
This exception is a symptom that the driver is experiencing a high workload. If it happens regularly on all hosts, you should consider tuning one (or a combination of) the following pooling options:
PoolingOptions.setMaxRequestsPerConnection(HostDistance,
int)
: maximum number of requests per connection;
PoolingOptions.setMaxConnectionsPerHost(HostDistance,
int)
: maximum number of connections in the pool;
PoolingOptions.setMaxQueueSize(int)
: maximum number of
enqueued requests before this exception is thrown.
Constructor and Description |
---|
BusyPoolException(InetSocketAddress address,
int queueSize) |
BusyPoolException(InetSocketAddress address,
long timeout,
TimeUnit unit) |
Modifier and Type | Method and Description |
---|---|
BusyPoolException |
copy()
Copy the exception.
|
InetSocketAddress |
getAddress()
The full address of the coordinator host that was contacted.
|
InetAddress |
getHost()
The coordinator host that was contacted.
|
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public BusyPoolException(InetSocketAddress address, int queueSize)
public BusyPoolException(InetSocketAddress address, long timeout, TimeUnit unit)
public InetAddress getHost()
CoordinatorException
This is a shortcut for getAddress().getAddress()
.
getHost
in interface CoordinatorException
null
if the coordinator is not
known.public InetSocketAddress getAddress()
CoordinatorException
getAddress
in interface CoordinatorException
null
if the
coordinator is not known.public BusyPoolException copy()
DriverException
This returns a new exception, equivalent to the original one, except that because a new object is created in the current thread, the top-most element in the stacktrace of the exception will refer to the current thread (this is mainly intended for internal use by the driver). The cause of the copied exception will be the original exception.
copy
in class DriverException
Copyright © 2012–2019. All rights reserved.