com.netflix.astyanax.connectionpool.impl
Class TokenAwareConnectionPoolImpl<CL>

java.lang.Object
  extended by com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool<CL>
      extended by com.netflix.astyanax.connectionpool.impl.TokenAwareConnectionPoolImpl<CL>
Type Parameters:
CL -
All Implemented Interfaces:
ConnectionPool<CL>, SimpleHostConnectionPool.Listener<CL>

public class TokenAwareConnectionPoolImpl<CL>
extends AbstractHostPartitionConnectionPool<CL>

Connection pool that partitions connections by the hosts which own the token being operated on. When a token is not available or an operation is known to span multiple tokens (such as a batch mutate or an index query) host pools are picked using round robin. This implementation takes an optimistic approach which is optimized for a well functioning ring with all nodes up and keeps downed hosts in the internal data structures.

Author:
elandau

Field Summary
 
Fields inherited from class com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool
config, factory, hosts, monitor, topology
 
Constructor Summary
TokenAwareConnectionPoolImpl(ConnectionPoolConfiguration configuration, ConnectionFactory<CL> factory, ConnectionPoolMonitor monitor)
           
 
Method Summary
<R> ExecuteWithFailover<CL,R>
newExecuteWithFailover(Operation<CL,R> op)
          Return a new failover context.
 
Methods inherited from class com.netflix.astyanax.connectionpool.impl.AbstractHostPartitionConnectionPool
addHost, executeWithFailover, getActivePools, getHostPool, hasHost, isHostUp, newHostConnectionPool, onHostDown, onHostUp, rebuildPartitions, removeHost, setHosts, shutdown, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TokenAwareConnectionPoolImpl

public TokenAwareConnectionPoolImpl(ConnectionPoolConfiguration configuration,
                                    ConnectionFactory<CL> factory,
                                    ConnectionPoolMonitor monitor)
Method Detail

newExecuteWithFailover

public <R> ExecuteWithFailover<CL,R> newExecuteWithFailover(Operation<CL,R> op)
                                                 throws ConnectionException
Description copied from class: AbstractHostPartitionConnectionPool
Return a new failover context. The context captures the connection pool state and implements the necessary failover logic.

Specified by:
newExecuteWithFailover in class AbstractHostPartitionConnectionPool<CL>
Returns:
Throws:
ConnectionException


Copyright © 2012. All Rights Reserved.