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 Object
implements ConnectionPoolConfiguration


Field Summary
static BadHostDetector DEFAULT_BAD_HOST_DETECTOR
           
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 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(String name)
           
 
Method Summary
 AuthenticationCredentials getAuthenticationCredentials()
          Can return null if no login required
 BadHostDetector getBadHostDetector()
          TODO
 int getConnectionLimiterMaxPendingCount()
          Maximum number of connection attempts in a given window
 int getConnectionLimiterWindowSize()
          Window size for limiting the number of connection open requests
 int getConnectTimeout()
          Socket connect timeout
 int getInitConnsPerHost()
          Initial number of connections created when a connection pool is started
 float getLatencyAwareBadnessThreshold()
          Return the threshold after which a host will not be considered good enough for executing operations.
 int getLatencyAwareResetInterval()
           
 float getLatencyAwareSentinelCompare()
          Sentinel compare value for Phi Accrual
 int getLatencyAwareUpdateInterval()
           
 int getLatencyAwareWindowSize()
          Latency samples window size for scoring algorithm
 LatencyScoreStrategy getLatencyScoreStrategy()
          TODO
 int getMaxBlockedThreadsPerHost()
          Get max number of blocked clients for a host.
 int getMaxConns()
          Maximum number of connections in the pool, not used by all connection pool implementations
 int getMaxConnsPerHost()
          Maximum number of connections to allocate for a single host's pool
 int getMaxFailoverCount()
          Get the max number of failover attempts
 int getMaxOperationsPerConnection()
          Maximum allowed operations per connections before forcing the connection to close
 int getMaxPendingConnectionsPerHost()
          Maximum number of pending connect attempts per host
 int getMaxTimeoutCount()
          Number of allowed timeouts within getTimeoutWindow() milliseconds
 int getMaxTimeoutWhenExhausted()
          Maximum amount of time to wait for a connection to free up when a connection pool is exhausted.
 String getName()
          Unique name assigned to this connection pool
 int getPort()
          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
 RetryBackoffStrategy getRetryBackoffStrategy()
          Return the backoff strategy to use.
 int getRetryDelaySlice()
          TODO
 int getRetryMaxDelaySlice()
          TODO
 int getRetrySuspendWindow()
          TODO
 List<Host> getSeedHosts()
          Return a list of Host objects from the list of seeds returned by getSeeds().
 String getSeeds()
          List of comma delimited host:port combinations.
 int getSocketTimeout()
          Socket read/write timeout
 int getTimeoutWindow()
          Shut down a host if it times out too many time within this window
 ConnectionPoolConfigurationImpl setAuthenticationCredentials(AuthenticationCredentials credentials)
           
 ConnectionPoolConfigurationImpl setBadHostDetector(BadHostDetector badHostDetector)
           
 ConnectionPoolConfigurationImpl setConnectionLimiterMaxPendingCount(int connectionLimiterMaxPendingCount)
           
 ConnectionPoolConfigurationImpl setConnectionLimiterWindowSize(int pendingConnectionWindowSize)
           
 ConnectionPoolConfigurationImpl setConnectTimeout(int connectTimeout)
           
 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 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 setPort(int port)
           
 ConnectionPoolConfigurationImpl setRetryBackoffStrategy(RetryBackoffStrategy hostRetryBackoffStrategy)
           
 ConnectionPoolConfigurationImpl setRetryDelaySlice(int retryDelaySlice)
           
 ConnectionPoolConfigurationImpl setRetryMaxDelaySlice(int retryMaxDelaySlice)
           
 ConnectionPoolConfigurationImpl setRetrySuspendWindow(int retrySuspendWindow)
           
 ConnectionPoolConfigurationImpl setSeeds(String seeds)
           
 ConnectionPoolConfigurationImpl setSocketTimeout(int socketTimeout)
           
 ConnectionPoolConfigurationImpl setTimeoutWindow(int timeoutWindow)
           
 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_BAD_HOST_DETECTOR

public static final BadHostDetector DEFAULT_BAD_HOST_DETECTOR
Constructor Detail

ConnectionPoolConfigurationImpl

public ConnectionPoolConfigurationImpl(String name)
Method Detail

getName

public String getName()
Description copied from interface: ConnectionPoolConfiguration
Unique name assigned to this connection pool

Specified by:
getName in interface ConnectionPoolConfiguration
Returns:

getSocketTimeout

public int getSocketTimeout()
Description copied from interface: ConnectionPoolConfiguration
Socket read/write timeout

Specified by:
getSocketTimeout in interface ConnectionPoolConfiguration
Returns:

setSocketTimeout

public ConnectionPoolConfigurationImpl setSocketTimeout(int socketTimeout)

getConnectTimeout

public int getConnectTimeout()
Description copied from interface: ConnectionPoolConfiguration
Socket connect timeout

Specified by:
getConnectTimeout in interface ConnectionPoolConfiguration
Returns:

setConnectTimeout

public ConnectionPoolConfigurationImpl setConnectTimeout(int connectTimeout)

getSeeds

public String getSeeds()
Description copied from interface: ConnectionPoolConfiguration
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.

Specified by:
getSeeds in interface ConnectionPoolConfiguration
Returns:

setSeeds

public ConnectionPoolConfigurationImpl setSeeds(String seeds)

getMaxTimeoutWhenExhausted

public int getMaxTimeoutWhenExhausted()
Description copied from interface: ConnectionPoolConfiguration
Maximum amount of time to wait for a connection to free up when a connection pool is exhausted.

Specified by:
getMaxTimeoutWhenExhausted in interface ConnectionPoolConfiguration
Returns:

setMaxTimeoutWhenExhausted

public ConnectionPoolConfigurationImpl setMaxTimeoutWhenExhausted(int timeout)

getPort

public int getPort()
Description copied from interface: ConnectionPoolConfiguration
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

Specified by:
getPort in interface ConnectionPoolConfiguration
Returns:

setPort

public ConnectionPoolConfigurationImpl setPort(int port)

getMaxConnsPerHost

public int getMaxConnsPerHost()
Description copied from interface: ConnectionPoolConfiguration
Maximum number of connections to allocate for a single host's pool

Specified by:
getMaxConnsPerHost in interface ConnectionPoolConfiguration
Returns:

setMaxConnsPerHost

public ConnectionPoolConfigurationImpl setMaxConnsPerHost(int maxConns)

getInitConnsPerHost

public int getInitConnsPerHost()
Description copied from interface: ConnectionPoolConfiguration
Initial number of connections created when a connection pool is started

Specified by:
getInitConnsPerHost in interface ConnectionPoolConfiguration
Returns:

setInitConnsPerHost

public ConnectionPoolConfigurationImpl setInitConnsPerHost(int initConns)

getRetryBackoffStrategy

public RetryBackoffStrategy getRetryBackoffStrategy()
Description copied from interface: ConnectionPoolConfiguration
Return the backoff strategy to use.

Specified by:
getRetryBackoffStrategy in interface ConnectionPoolConfiguration
Returns:
See Also:
RetryBackoffStrategy

setRetryBackoffStrategy

public ConnectionPoolConfigurationImpl setRetryBackoffStrategy(RetryBackoffStrategy hostRetryBackoffStrategy)

getSeedHosts

public List<Host> getSeedHosts()
Description copied from interface: ConnectionPoolConfiguration
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.

Specified by:
getSeedHosts in interface ConnectionPoolConfiguration
Returns:

getMaxFailoverCount

public int getMaxFailoverCount()
Description copied from interface: ConnectionPoolConfiguration
Get the max number of failover attempts

Specified by:
getMaxFailoverCount in interface ConnectionPoolConfiguration
Returns:

setMaxFailoverCount

public ConnectionPoolConfigurationImpl setMaxFailoverCount(int maxFailoverCount)

getMaxConns

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

Specified by:
getMaxConns in interface ConnectionPoolConfiguration
Returns:

setMaxConns

public ConnectionPoolConfigurationImpl setMaxConns(int maxConns)

getLatencyAwareWindowSize

public int getLatencyAwareWindowSize()
Description copied from interface: ConnectionPoolConfiguration
Latency samples window size for scoring algorithm

Specified by:
getLatencyAwareWindowSize in interface ConnectionPoolConfiguration
Returns:

setLatencyAwareWindowSize

public ConnectionPoolConfigurationImpl setLatencyAwareWindowSize(int latencyAwareWindowSize)

getLatencyAwareSentinelCompare

public float getLatencyAwareSentinelCompare()
Description copied from interface: ConnectionPoolConfiguration
Sentinel compare value for Phi Accrual

Specified by:
getLatencyAwareSentinelCompare in interface ConnectionPoolConfiguration
Returns:

setLatencyAwareSentinelCompare

public ConnectionPoolConfigurationImpl setLatencyAwareSentinelCompare(float latencyAwareSentinelCompare)

getLatencyAwareBadnessThreshold

public float getLatencyAwareBadnessThreshold()
Description copied from interface: ConnectionPoolConfiguration
Return the threshold after which a host will not be considered good enough for executing operations.

Specified by:
getLatencyAwareBadnessThreshold in interface ConnectionPoolConfiguration
Returns:
Valid values are 0 to 1

setLatencyAwareBadnessThreshold

public ConnectionPoolConfigurationImpl setLatencyAwareBadnessThreshold(float threshold)

getConnectionLimiterWindowSize

public int getConnectionLimiterWindowSize()
Description copied from interface: ConnectionPoolConfiguration
Window size for limiting the number of connection open requests

Specified by:
getConnectionLimiterWindowSize in interface ConnectionPoolConfiguration
Returns:

setConnectionLimiterWindowSize

public ConnectionPoolConfigurationImpl setConnectionLimiterWindowSize(int pendingConnectionWindowSize)

getConnectionLimiterMaxPendingCount

public int getConnectionLimiterMaxPendingCount()
Description copied from interface: ConnectionPoolConfiguration
Maximum number of connection attempts in a given window

Specified by:
getConnectionLimiterMaxPendingCount in interface ConnectionPoolConfiguration
Returns:

setConnectionLimiterMaxPendingCount

public ConnectionPoolConfigurationImpl setConnectionLimiterMaxPendingCount(int connectionLimiterMaxPendingCount)

getMaxPendingConnectionsPerHost

public int getMaxPendingConnectionsPerHost()
Description copied from interface: ConnectionPoolConfiguration
Maximum number of pending connect attempts per host

Specified by:
getMaxPendingConnectionsPerHost in interface ConnectionPoolConfiguration
Returns:

setMaxPendingConnectionsPerHost

public ConnectionPoolConfigurationImpl setMaxPendingConnectionsPerHost(int maxPendingConnectionsPerHost)

getMaxBlockedThreadsPerHost

public int getMaxBlockedThreadsPerHost()
Description copied from interface: ConnectionPoolConfiguration
Get max number of blocked clients for a host.

Specified by:
getMaxBlockedThreadsPerHost in interface ConnectionPoolConfiguration
Returns:

setMaxBlockedThreadsPerHost

public ConnectionPoolConfigurationImpl setMaxBlockedThreadsPerHost(int maxBlockedThreadsPerHost)

getTimeoutWindow

public int getTimeoutWindow()
Description copied from interface: ConnectionPoolConfiguration
Shut down a host if it times out too many time within this window

Specified by:
getTimeoutWindow in interface ConnectionPoolConfiguration
Returns:

setTimeoutWindow

public ConnectionPoolConfigurationImpl setTimeoutWindow(int timeoutWindow)

getMaxTimeoutCount

public int getMaxTimeoutCount()
Description copied from interface: ConnectionPoolConfiguration
Number of allowed timeouts within getTimeoutWindow() milliseconds

Specified by:
getMaxTimeoutCount in interface ConnectionPoolConfiguration
Returns:

setMaxTimeoutCount

public ConnectionPoolConfigurationImpl setMaxTimeoutCount(int maxTimeoutCount)

getLatencyAwareUpdateInterval

public int getLatencyAwareUpdateInterval()
Specified by:
getLatencyAwareUpdateInterval in interface ConnectionPoolConfiguration
Returns:

setLatencyAwareUpdateInterval

public ConnectionPoolConfigurationImpl setLatencyAwareUpdateInterval(int latencyAwareUpdateInterval)

getLatencyAwareResetInterval

public int getLatencyAwareResetInterval()
Specified by:
getLatencyAwareResetInterval in interface ConnectionPoolConfiguration
Returns:

setLatencyAwareResetInterval

public ConnectionPoolConfigurationImpl setLatencyAwareResetInterval(int latencyAwareResetInterval)

getRetrySuspendWindow

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

Specified by:
getRetrySuspendWindow in interface ConnectionPoolConfiguration
Returns:

setRetrySuspendWindow

public ConnectionPoolConfigurationImpl setRetrySuspendWindow(int retrySuspendWindow)

getMaxOperationsPerConnection

public int getMaxOperationsPerConnection()
Description copied from interface: ConnectionPoolConfiguration
Maximum allowed operations per connections before forcing the connection to close

Specified by:
getMaxOperationsPerConnection in interface ConnectionPoolConfiguration
Returns:

setMaxOperationsPerConnection

public ConnectionPoolConfigurationImpl setMaxOperationsPerConnection(int maxOperationsPerConnection)

getLatencyScoreStrategy

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

Specified by:
getLatencyScoreStrategy in interface ConnectionPoolConfiguration
Returns:

setLatencyScoreStrategy

public ConnectionPoolConfigurationImpl setLatencyScoreStrategy(LatencyScoreStrategy latencyScoreStrategy)

getBadHostDetector

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

Specified by:
getBadHostDetector in interface ConnectionPoolConfiguration
Returns:

setBadHostDetector

public ConnectionPoolConfigurationImpl setBadHostDetector(BadHostDetector badHostDetector)

getRetryMaxDelaySlice

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

Specified by:
getRetryMaxDelaySlice in interface ConnectionPoolConfiguration
Returns:

setRetryMaxDelaySlice

public ConnectionPoolConfigurationImpl setRetryMaxDelaySlice(int retryMaxDelaySlice)

getRetryDelaySlice

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

Specified by:
getRetryDelaySlice in interface ConnectionPoolConfiguration
Returns:

setRetryDelaySlice

public ConnectionPoolConfigurationImpl setRetryDelaySlice(int retryDelaySlice)

toString

public String toString()
Overrides:
toString in class Object

getAuthenticationCredentials

public AuthenticationCredentials getAuthenticationCredentials()
Description copied from interface: ConnectionPoolConfiguration
Can return null if no login required

Specified by:
getAuthenticationCredentials in interface ConnectionPoolConfiguration
Returns:

setAuthenticationCredentials

public ConnectionPoolConfigurationImpl setAuthenticationCredentials(AuthenticationCredentials credentials)


Copyright © 2012. All Rights Reserved.