com.netflix.astyanax.connectionpool.impl
Class ConnectionPoolConfigurationImpl

java.lang.Object
  extended by com.netflix.astyanax.connectionpool.impl.ConnectionPoolConfigurationImpl
All Implemented Interfaces:
ConnectionPoolConfiguration

public class ConnectionPoolConfigurationImpl
extends java.lang.Object
implements ConnectionPoolConfiguration

Basic impl for ConnectionPoolConfiguration that uses a bunch of defaults for al the connection pool config.


Field Summary
static BadHostDetector DEFAULT_BAD_HOST_DETECTOR
           
static int DEFAULT_BLOCKED_THREAD_THRESHOLD
           
static int DEFAULT_CONNECT_TIMEOUT
           
static int DEFAULT_CONNECTION_LIMITER_MAX_PENDING_COUNT
           
static int DEFAULT_CONNECTION_LIMITER_WINDOW_SIZE
           
static int DEFAULT_FAILOVER_COUNT
           
static int DEFAULT_INIT_PER_PARTITION
           
static float DEFAULT_LATENCY_AWARE_BADNESS_THRESHOLD
           
static int DEFAULT_LATENCY_AWARE_RESET_INTERVAL
           
static float DEFAULT_LATENCY_AWARE_SENTINEL_COMPARE
           
static int DEFAULT_LATENCY_AWARE_UPDATE_INTERVAL
           
static int DEFAULT_LATENCY_AWARE_WINDOW_SIZE
           
static int DEFAULT_MAX_ACTIVE_PER_PARTITION
           
static int DEFAULT_MAX_BLOCKED_THREADS_PER_HOST
           
static int DEFAULT_MAX_CONNS
           
static int DEFAULT_MAX_OPERATIONS_PER_CONNECTION
           
static int DEFAULT_MAX_PENDING_CONNECTIONS_PER_HOST
           
static int DEFAULT_MAX_TIME_WHEN_EXHAUSTED
          Default values
static int DEFAULT_MAX_TIMEOUT_COUNT
           
static float DEFAULT_MIN_HOST_IN_POOL_RATIO
           
static int DEFAULT_PORT
           
static int DEFAULT_RETRY_DELAY_SLICE
           
static int DEFAULT_RETRY_MAX_DELAY_SLICE
           
static int DEFAULT_RETRY_SUSPEND_WINDOW
           
static int DEFAULT_SOCKET_TIMEOUT
           
static int DEFAULT_TIMEOUT_WINDOW
           
 
Constructor Summary
ConnectionPoolConfigurationImpl(java.lang.String name)
           
 
Method Summary
 AuthenticationCredentials getAuthenticationCredentials()
           
 BadHostDetector getBadHostDetector()
          TODO
 int getBlockedThreadThreshold()
           
 int getConnectionLimiterMaxPendingCount()
           
 int getConnectionLimiterWindowSize()
           
 int getConnectTimeout()
           
 java.util.concurrent.ScheduledExecutorService getHostReconnectExecutor()
           
 HostSelectorStrategy getHostSelectorStrategy()
           
 int getInitConnsPerHost()
           
 float getLatencyAwareBadnessThreshold()
           
 int getLatencyAwareResetInterval()
          TODO
 float getLatencyAwareSentinelCompare()
           
 int getLatencyAwareUpdateInterval()
          TODO
 int getLatencyAwareWindowSize()
           
 LatencyScoreStrategy getLatencyScoreStrategy()
          TODO
 java.lang.String getLocalDatacenter()
          Returns local datacenter name
 java.util.concurrent.ScheduledExecutorService getMaintainanceScheduler()
           
 int getMaxBlockedThreadsPerHost()
           
 int getMaxConns()
           
 int getMaxConnsPerHost()
           
 int getMaxFailoverCount()
           
 int getMaxOperationsPerConnection()
           
 int getMaxPendingConnectionsPerHost()
           
 int getMaxTimeoutCount()
           
 int getMaxTimeoutWhenExhausted()
           
 float getMinHostInPoolRatio()
           
 java.lang.String getName()
           
 OperationFilterFactory getOperationFilterFactory()
           
 Partitioner getPartitioner()
           
 int getPort()
           
 RetryBackoffStrategy getRetryBackoffStrategy()
           
 int getRetryDelaySlice()
          TODO
 int getRetryMaxDelaySlice()
          TODO
 int getRetrySuspendWindow()
          TODO
 java.util.List<Host> getSeedHosts()
           
 java.lang.String getSeeds()
           
 int getSocketTimeout()
           
 SSLConnectionContext getSSLConnectionContext()
           
 int getTimeoutWindow()
           
 void initialize()
          Initialization prior to starting the connection pool
 ConnectionPoolConfigurationImpl setAuthenticationCredentials(AuthenticationCredentials credentials)
           
 ConnectionPoolConfigurationImpl setBadHostDetector(BadHostDetector badHostDetector)
           
 ConnectionPoolConfigurationImpl setBlockedThreadThreshold(int threshold)
           
 ConnectionPoolConfigurationImpl setConnectionLimiterMaxPendingCount(int connectionLimiterMaxPendingCount)
           
 ConnectionPoolConfigurationImpl setConnectionLimiterWindowSize(int pendingConnectionWindowSize)
           
 ConnectionPoolConfigurationImpl setConnectTimeout(int connectTimeout)
           
 ConnectionPoolConfigurationImpl setHostReconnectExecutor(java.util.concurrent.ScheduledExecutorService executor)
           
 ConnectionPoolConfigurationImpl setHostSelectorStrategy(HostSelectorStrategy hostSelectorStrategy)
           
 ConnectionPoolConfigurationImpl setInitConnsPerHost(int initConns)
           
 ConnectionPoolConfigurationImpl setLatencyAwareBadnessThreshold(float threshold)
           
 ConnectionPoolConfigurationImpl setLatencyAwareResetInterval(int latencyAwareResetInterval)
           
 ConnectionPoolConfigurationImpl setLatencyAwareSentinelCompare(float latencyAwareSentinelCompare)
           
 ConnectionPoolConfigurationImpl setLatencyAwareUpdateInterval(int latencyAwareUpdateInterval)
           
 ConnectionPoolConfigurationImpl setLatencyAwareWindowSize(int latencyAwareWindowSize)
           
 ConnectionPoolConfigurationImpl setLatencyScoreStrategy(LatencyScoreStrategy latencyScoreStrategy)
           
 ConnectionPoolConfigurationImpl setLocalDatacenter(java.lang.String localDatacenter)
           
 ConnectionPoolConfigurationImpl setMaintainanceScheduler(java.util.concurrent.ScheduledExecutorService executor)
           
 ConnectionPoolConfigurationImpl setMaxBlockedThreadsPerHost(int maxBlockedThreadsPerHost)
           
 ConnectionPoolConfigurationImpl setMaxConns(int maxConns)
           
 ConnectionPoolConfigurationImpl setMaxConnsPerHost(int maxConns)
           
 ConnectionPoolConfigurationImpl setMaxFailoverCount(int maxFailoverCount)
           
 ConnectionPoolConfigurationImpl setMaxOperationsPerConnection(int maxOperationsPerConnection)
           
 ConnectionPoolConfigurationImpl setMaxPendingConnectionsPerHost(int maxPendingConnectionsPerHost)
           
 ConnectionPoolConfigurationImpl setMaxTimeoutCount(int maxTimeoutCount)
           
 ConnectionPoolConfigurationImpl setMaxTimeoutWhenExhausted(int timeout)
           
 ConnectionPoolConfigurationImpl setMinHostInPoolRatio(float ratio)
           
 ConnectionPoolConfigurationImpl setOperationFilterFactory(OperationFilterFactory filterFactory)
           
 ConnectionPoolConfigurationImpl setPartitioner(Partitioner partitioner)
           
 ConnectionPoolConfigurationImpl setPort(int port)
           
 ConnectionPoolConfigurationImpl setRetryBackoffStrategy(RetryBackoffStrategy hostRetryBackoffStrategy)
           
 ConnectionPoolConfigurationImpl setRetryDelaySlice(int retryDelaySlice)
           
 ConnectionPoolConfigurationImpl setRetryMaxDelaySlice(int retryMaxDelaySlice)
           
 ConnectionPoolConfigurationImpl setRetrySuspendWindow(int retrySuspendWindow)
           
 ConnectionPoolConfigurationImpl setSeeds(java.lang.String seeds)
           
 ConnectionPoolConfigurationImpl setSocketTimeout(int socketTimeout)
           
 ConnectionPoolConfigurationImpl setSSLConnectionContext(SSLConnectionContext sslCtx)
           
 ConnectionPoolConfigurationImpl setTimeoutWindow(int timeoutWindow)
           
 void shutdown()
          Shutdown after stopping the connection pool
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_MAX_TIME_WHEN_EXHAUSTED

public static final int DEFAULT_MAX_TIME_WHEN_EXHAUSTED
Default values

See Also:
Constant Field Values

DEFAULT_SOCKET_TIMEOUT

public static final int DEFAULT_SOCKET_TIMEOUT
See Also:
Constant Field Values

DEFAULT_CONNECT_TIMEOUT

public static final int DEFAULT_CONNECT_TIMEOUT
See Also:
Constant Field Values

DEFAULT_MAX_ACTIVE_PER_PARTITION

public static final int DEFAULT_MAX_ACTIVE_PER_PARTITION
See Also:
Constant Field Values

DEFAULT_INIT_PER_PARTITION

public static final int DEFAULT_INIT_PER_PARTITION
See Also:
Constant Field Values

DEFAULT_PORT

public static final int DEFAULT_PORT
See Also:
Constant Field Values

DEFAULT_FAILOVER_COUNT

public static final int DEFAULT_FAILOVER_COUNT
See Also:
Constant Field Values

DEFAULT_MAX_CONNS

public static final int DEFAULT_MAX_CONNS
See Also:
Constant Field Values

DEFAULT_LATENCY_AWARE_WINDOW_SIZE

public static final int DEFAULT_LATENCY_AWARE_WINDOW_SIZE
See Also:
Constant Field Values

DEFAULT_LATENCY_AWARE_SENTINEL_COMPARE

public static final float DEFAULT_LATENCY_AWARE_SENTINEL_COMPARE
See Also:
Constant Field Values

DEFAULT_LATENCY_AWARE_UPDATE_INTERVAL

public static final int DEFAULT_LATENCY_AWARE_UPDATE_INTERVAL
See Also:
Constant Field Values

DEFAULT_LATENCY_AWARE_RESET_INTERVAL

public static final int DEFAULT_LATENCY_AWARE_RESET_INTERVAL
See Also:
Constant Field Values

DEFAULT_LATENCY_AWARE_BADNESS_THRESHOLD

public static final float DEFAULT_LATENCY_AWARE_BADNESS_THRESHOLD
See Also:
Constant Field Values

DEFAULT_CONNECTION_LIMITER_WINDOW_SIZE

public static final int DEFAULT_CONNECTION_LIMITER_WINDOW_SIZE
See Also:
Constant Field Values

DEFAULT_CONNECTION_LIMITER_MAX_PENDING_COUNT

public static final int DEFAULT_CONNECTION_LIMITER_MAX_PENDING_COUNT
See Also:
Constant Field Values

DEFAULT_MAX_PENDING_CONNECTIONS_PER_HOST

public static final int DEFAULT_MAX_PENDING_CONNECTIONS_PER_HOST
See Also:
Constant Field Values

DEFAULT_MAX_BLOCKED_THREADS_PER_HOST

public static final int DEFAULT_MAX_BLOCKED_THREADS_PER_HOST
See Also:
Constant Field Values

DEFAULT_MAX_TIMEOUT_COUNT

public static final int DEFAULT_MAX_TIMEOUT_COUNT
See Also:
Constant Field Values

DEFAULT_TIMEOUT_WINDOW

public static final int DEFAULT_TIMEOUT_WINDOW
See Also:
Constant Field Values

DEFAULT_RETRY_SUSPEND_WINDOW

public static final int DEFAULT_RETRY_SUSPEND_WINDOW
See Also:
Constant Field Values

DEFAULT_RETRY_DELAY_SLICE

public static final int DEFAULT_RETRY_DELAY_SLICE
See Also:
Constant Field Values

DEFAULT_RETRY_MAX_DELAY_SLICE

public static final int DEFAULT_RETRY_MAX_DELAY_SLICE
See Also:
Constant Field Values

DEFAULT_MAX_OPERATIONS_PER_CONNECTION

public static final int DEFAULT_MAX_OPERATIONS_PER_CONNECTION
See Also:
Constant Field Values

DEFAULT_MIN_HOST_IN_POOL_RATIO

public static final float DEFAULT_MIN_HOST_IN_POOL_RATIO
See Also:
Constant Field Values

DEFAULT_BLOCKED_THREAD_THRESHOLD

public static final int DEFAULT_BLOCKED_THREAD_THRESHOLD
See Also:
Constant Field Values

DEFAULT_BAD_HOST_DETECTOR

public static final BadHostDetector DEFAULT_BAD_HOST_DETECTOR
Constructor Detail

ConnectionPoolConfigurationImpl

public ConnectionPoolConfigurationImpl(java.lang.String name)
Method Detail

initialize

public void initialize()
Description copied from interface: ConnectionPoolConfiguration
Initialization prior to starting the connection pool

Specified by:
initialize in interface ConnectionPoolConfiguration

shutdown

public void shutdown()
Description copied from interface: ConnectionPoolConfiguration
Shutdown after stopping the connection pool

Specified by:
shutdown in interface ConnectionPoolConfiguration

getName

public java.lang.String getName()
Specified by:
getName in interface ConnectionPoolConfiguration
Returns:
Unique name assigned to this connection pool

getSocketTimeout

public int getSocketTimeout()
Specified by:
getSocketTimeout in interface ConnectionPoolConfiguration
Returns:
Socket read/write timeout

setSocketTimeout

public ConnectionPoolConfigurationImpl setSocketTimeout(int socketTimeout)

getConnectTimeout

public int getConnectTimeout()
Specified by:
getConnectTimeout in interface ConnectionPoolConfiguration
Returns:
Socket connect timeout

setConnectTimeout

public ConnectionPoolConfigurationImpl setConnectTimeout(int connectTimeout)

getSeeds

public java.lang.String getSeeds()
Specified by:
getSeeds in interface ConnectionPoolConfiguration
Returns:
List of comma delimited host:port combinations. If port is not provided then getPort() will be used by default. This list must contain at least one valid host other it would not be possible to do a ring describe.

setSeeds

public ConnectionPoolConfigurationImpl setSeeds(java.lang.String seeds)

getLocalDatacenter

public java.lang.String getLocalDatacenter()
Returns local datacenter name

Specified by:
getLocalDatacenter in interface ConnectionPoolConfiguration
Returns:

setLocalDatacenter

public ConnectionPoolConfigurationImpl setLocalDatacenter(java.lang.String localDatacenter)

getMaxTimeoutWhenExhausted

public int getMaxTimeoutWhenExhausted()
Specified by:
getMaxTimeoutWhenExhausted in interface ConnectionPoolConfiguration
Returns:
Maximum amount of time to wait for a connection to free up when a connection pool is exhausted.

setMaxTimeoutWhenExhausted

public ConnectionPoolConfigurationImpl setMaxTimeoutWhenExhausted(int timeout)

getPort

public int getPort()
Specified by:
getPort in interface ConnectionPoolConfiguration
Returns:
Data port to be used when no port is specified to a list of seeds or when doing a ring describe since the ring describe does not include a host

setPort

public ConnectionPoolConfigurationImpl setPort(int port)

getMaxConnsPerHost

public int getMaxConnsPerHost()
Specified by:
getMaxConnsPerHost in interface ConnectionPoolConfiguration
Returns:
Maximum number of connections to allocate for a single host's pool

setMaxConnsPerHost

public ConnectionPoolConfigurationImpl setMaxConnsPerHost(int maxConns)

getInitConnsPerHost

public int getInitConnsPerHost()
Specified by:
getInitConnsPerHost in interface ConnectionPoolConfiguration
Returns:
Initial number of connections created when a connection pool is started

setInitConnsPerHost

public ConnectionPoolConfigurationImpl setInitConnsPerHost(int initConns)

getRetryBackoffStrategy

public RetryBackoffStrategy getRetryBackoffStrategy()
Specified by:
getRetryBackoffStrategy in interface ConnectionPoolConfiguration
Returns:
Return the backoff strategy to use.
See Also:
RetryBackoffStrategy

setRetryBackoffStrategy

public ConnectionPoolConfigurationImpl setRetryBackoffStrategy(RetryBackoffStrategy hostRetryBackoffStrategy)

getHostSelectorStrategy

public HostSelectorStrategy getHostSelectorStrategy()
Specified by:
getHostSelectorStrategy in interface ConnectionPoolConfiguration
Returns:
Return the host selector strategy to use.
See Also:
HostSelectorStrategy

setHostSelectorStrategy

public ConnectionPoolConfigurationImpl setHostSelectorStrategy(HostSelectorStrategy hostSelectorStrategy)

getSeedHosts

public java.util.List<Host> getSeedHosts()
Specified by:
getSeedHosts in interface ConnectionPoolConfiguration
Returns:
Return a list of Host objects from the list of seeds returned by getSeeds(). This list must contain at least one valid host other it would not be possible to do a ring describe.

getMaxFailoverCount

public int getMaxFailoverCount()
Specified by:
getMaxFailoverCount in interface ConnectionPoolConfiguration
Returns:
Get the max number of failover attempts

setMaxFailoverCount

public ConnectionPoolConfigurationImpl setMaxFailoverCount(int maxFailoverCount)

getMaxConns

public int getMaxConns()
Specified by:
getMaxConns in interface ConnectionPoolConfiguration
Returns:
Maximum number of connections in the pool, not used by all connection pool implementations

setMaxConns

public ConnectionPoolConfigurationImpl setMaxConns(int maxConns)

getLatencyAwareWindowSize

public int getLatencyAwareWindowSize()
Specified by:
getLatencyAwareWindowSize in interface ConnectionPoolConfiguration
Returns:
Latency samples window size for scoring algorithm

setLatencyAwareWindowSize

public ConnectionPoolConfigurationImpl setLatencyAwareWindowSize(int latencyAwareWindowSize)

getLatencyAwareSentinelCompare

public float getLatencyAwareSentinelCompare()
Specified by:
getLatencyAwareSentinelCompare in interface ConnectionPoolConfiguration
Returns:
Sentinel compare value for Phi Accrual

setLatencyAwareSentinelCompare

public ConnectionPoolConfigurationImpl setLatencyAwareSentinelCompare(float latencyAwareSentinelCompare)

getLatencyAwareBadnessThreshold

public float getLatencyAwareBadnessThreshold()
Specified by:
getLatencyAwareBadnessThreshold in interface ConnectionPoolConfiguration
Returns:
Return the threshold after which a host will not be considered good enough for executing operations.

setLatencyAwareBadnessThreshold

public ConnectionPoolConfigurationImpl setLatencyAwareBadnessThreshold(float threshold)

getConnectionLimiterWindowSize

public int getConnectionLimiterWindowSize()
Specified by:
getConnectionLimiterWindowSize in interface ConnectionPoolConfiguration
Returns:
Window size for limiting the number of connection open requests

setConnectionLimiterWindowSize

public ConnectionPoolConfigurationImpl setConnectionLimiterWindowSize(int pendingConnectionWindowSize)

getConnectionLimiterMaxPendingCount

public int getConnectionLimiterMaxPendingCount()
Specified by:
getConnectionLimiterMaxPendingCount in interface ConnectionPoolConfiguration
Returns:
Maximum number of connection attempts in a given window

setConnectionLimiterMaxPendingCount

public ConnectionPoolConfigurationImpl setConnectionLimiterMaxPendingCount(int connectionLimiterMaxPendingCount)

getMaxPendingConnectionsPerHost

public int getMaxPendingConnectionsPerHost()
Specified by:
getMaxPendingConnectionsPerHost in interface ConnectionPoolConfiguration
Returns:
Maximum number of pending connect attempts per host

setMaxPendingConnectionsPerHost

public ConnectionPoolConfigurationImpl setMaxPendingConnectionsPerHost(int maxPendingConnectionsPerHost)

getMaxBlockedThreadsPerHost

public int getMaxBlockedThreadsPerHost()
Specified by:
getMaxBlockedThreadsPerHost in interface ConnectionPoolConfiguration
Returns:
Get max number of blocked clients for a host.

setMaxBlockedThreadsPerHost

public ConnectionPoolConfigurationImpl setMaxBlockedThreadsPerHost(int maxBlockedThreadsPerHost)

getTimeoutWindow

public int getTimeoutWindow()
Specified by:
getTimeoutWindow in interface ConnectionPoolConfiguration
Returns:
Shut down a host if it times out too many time within this window

setTimeoutWindow

public ConnectionPoolConfigurationImpl setTimeoutWindow(int timeoutWindow)

getMaxTimeoutCount

public int getMaxTimeoutCount()
Specified by:
getMaxTimeoutCount in interface ConnectionPoolConfiguration
Returns:
Number of allowed timeouts within getTimeoutWindow() milliseconds

setMaxTimeoutCount

public ConnectionPoolConfigurationImpl setMaxTimeoutCount(int maxTimeoutCount)

getLatencyAwareUpdateInterval

public int getLatencyAwareUpdateInterval()
Description copied from interface: ConnectionPoolConfiguration
TODO

Specified by:
getLatencyAwareUpdateInterval in interface ConnectionPoolConfiguration

setLatencyAwareUpdateInterval

public ConnectionPoolConfigurationImpl setLatencyAwareUpdateInterval(int latencyAwareUpdateInterval)

getLatencyAwareResetInterval

public int getLatencyAwareResetInterval()
Description copied from interface: ConnectionPoolConfiguration
TODO

Specified by:
getLatencyAwareResetInterval in interface ConnectionPoolConfiguration

setLatencyAwareResetInterval

public ConnectionPoolConfigurationImpl setLatencyAwareResetInterval(int latencyAwareResetInterval)

getRetrySuspendWindow

public int getRetrySuspendWindow()
Description copied from interface: ConnectionPoolConfiguration
TODO

Specified by:
getRetrySuspendWindow in interface ConnectionPoolConfiguration

setRetrySuspendWindow

public ConnectionPoolConfigurationImpl setRetrySuspendWindow(int retrySuspendWindow)

getMaxOperationsPerConnection

public int getMaxOperationsPerConnection()
Specified by:
getMaxOperationsPerConnection in interface ConnectionPoolConfiguration
Returns:
Maximum allowed operations per connections before forcing the connection to close

setMaxOperationsPerConnection

public ConnectionPoolConfigurationImpl setMaxOperationsPerConnection(int maxOperationsPerConnection)

getLatencyScoreStrategy

public LatencyScoreStrategy getLatencyScoreStrategy()
Description copied from interface: ConnectionPoolConfiguration
TODO

Specified by:
getLatencyScoreStrategy in interface ConnectionPoolConfiguration

setLatencyScoreStrategy

public ConnectionPoolConfigurationImpl setLatencyScoreStrategy(LatencyScoreStrategy latencyScoreStrategy)

getBadHostDetector

public BadHostDetector getBadHostDetector()
Description copied from interface: ConnectionPoolConfiguration
TODO

Specified by:
getBadHostDetector in interface ConnectionPoolConfiguration

setBadHostDetector

public ConnectionPoolConfigurationImpl setBadHostDetector(BadHostDetector badHostDetector)

getRetryMaxDelaySlice

public int getRetryMaxDelaySlice()
Description copied from interface: ConnectionPoolConfiguration
TODO

Specified by:
getRetryMaxDelaySlice in interface ConnectionPoolConfiguration

setRetryMaxDelaySlice

public ConnectionPoolConfigurationImpl setRetryMaxDelaySlice(int retryMaxDelaySlice)

getRetryDelaySlice

public int getRetryDelaySlice()
Description copied from interface: ConnectionPoolConfiguration
TODO

Specified by:
getRetryDelaySlice in interface ConnectionPoolConfiguration

setRetryDelaySlice

public ConnectionPoolConfigurationImpl setRetryDelaySlice(int retryDelaySlice)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getAuthenticationCredentials

public AuthenticationCredentials getAuthenticationCredentials()
Specified by:
getAuthenticationCredentials in interface ConnectionPoolConfiguration
Returns:
Can return null if no login required

setAuthenticationCredentials

public ConnectionPoolConfigurationImpl setAuthenticationCredentials(AuthenticationCredentials credentials)

getOperationFilterFactory

public OperationFilterFactory getOperationFilterFactory()
Specified by:
getOperationFilterFactory in interface ConnectionPoolConfiguration
Returns:
Return factory that will wrap an operation with filters, such as logging filters and simulation filters

setOperationFilterFactory

public ConnectionPoolConfigurationImpl setOperationFilterFactory(OperationFilterFactory filterFactory)

getPartitioner

public Partitioner getPartitioner()
Specified by:
getPartitioner in interface ConnectionPoolConfiguration
Returns:
Get the partitioner used to convert row keys to TOKEN

setPartitioner

public ConnectionPoolConfigurationImpl setPartitioner(Partitioner partitioner)

getBlockedThreadThreshold

public int getBlockedThreadThreshold()
Specified by:
getBlockedThreadThreshold in interface ConnectionPoolConfiguration
Returns:
Return the threshold for disabling hosts that have nBlockedThreads more than the least blocked host. The idea here is to quarantine hosts that are slow to respond and free up connections.

setBlockedThreadThreshold

public ConnectionPoolConfigurationImpl setBlockedThreadThreshold(int threshold)

getMinHostInPoolRatio

public float getMinHostInPoolRatio()
Specified by:
getMinHostInPoolRatio in interface ConnectionPoolConfiguration
Returns:
Return the ratio for keeping a minimum number of hosts in the pool even if they are slow or are blocked. For example, a ratio of 0.75 with a connection pool of 12 hosts will ensure that no more than 4 hosts can be quaratined.

setMinHostInPoolRatio

public ConnectionPoolConfigurationImpl setMinHostInPoolRatio(float ratio)

getSSLConnectionContext

public SSLConnectionContext getSSLConnectionContext()
Specified by:
getSSLConnectionContext in interface ConnectionPoolConfiguration
Returns:
Retrieve a context to determine if connections should be made using SSL.

setSSLConnectionContext

public ConnectionPoolConfigurationImpl setSSLConnectionContext(SSLConnectionContext sslCtx)

getMaintainanceScheduler

public java.util.concurrent.ScheduledExecutorService getMaintainanceScheduler()
Specified by:
getMaintainanceScheduler in interface ConnectionPoolConfiguration
Returns:
Return executor service used for maintenance tasks. This pool is used for internal operations that update stats such as token aware scores. Threads in this pool and not expected to block on I/O and the pool can therefore be very small

setMaintainanceScheduler

public ConnectionPoolConfigurationImpl setMaintainanceScheduler(java.util.concurrent.ScheduledExecutorService executor)

getHostReconnectExecutor

public java.util.concurrent.ScheduledExecutorService getHostReconnectExecutor()
Specified by:
getHostReconnectExecutor in interface ConnectionPoolConfiguration
Returns:
Return executor service used to reconnect hosts. Keep in mind that the threads may be blocked for an extended duration while trying to reconnect to a downed host

setHostReconnectExecutor

public ConnectionPoolConfigurationImpl setHostReconnectExecutor(java.util.concurrent.ScheduledExecutorService executor)