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(EndPoint endPoint,
int queueSize) |
BusyPoolException(EndPoint endPoint,
long timeout,
TimeUnit unit) |
Modifier and Type | Method and Description |
---|---|
BusyPoolException |
copy()
Copy the exception.
|
InetSocketAddress |
getAddress()
Deprecated.
|
EndPoint |
getEndPoint()
The connection information of the coordinator host that was contacted.
|
InetAddress |
getHost()
Deprecated.
|
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public BusyPoolException(EndPoint endPoint, int queueSize)
public EndPoint getEndPoint()
CoordinatorException
null
if
the coordinator is not known.getEndPoint
in interface CoordinatorException
@Deprecated public InetSocketAddress getAddress()
CoordinatorException
null
if the
coordinator is not known.getAddress
in interface CoordinatorException
@Deprecated public InetAddress getHost()
CoordinatorException
null
if the coordinator is not known.getHost
in interface CoordinatorException
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–2023. All rights reserved.