Package com.aerospike.client.cluster
Class Node
java.lang.Object
com.aerospike.client.cluster.Node
- All Implemented Interfaces:
Closeable
,AutoCloseable
Server node representation. This class manages server node connections and health status.
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
Number of partitions for each namespace. -
Constructor Summary
ConstructorDescriptionNode
(com.aerospike.client.cluster.Cluster cluster, com.aerospike.client.cluster.NodeValidator nv) Initialize server node with connection parameters. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addError()
Increment transaction error count.final void
addLatency
(com.aerospike.client.metrics.LatencyType type, long elapsed) Add elapsed time in nanoseconds to latency buckets corresponding to latency type.void
Increment transaction timeout count.final void
balanceAsyncConnections
(EventLoop eventLoop) final void
close()
Close all socket connections.final void
closeAsyncConnection
(com.aerospike.client.async.AsyncConnection conn, int index) Close async connection on error.final void
closeAsyncConnections
(int index) Close asynchronous connections.final void
closeAsyncIdleConnection
(com.aerospike.client.async.AsyncConnection conn, int index) Close async connection without incrementing error count.final void
closeConnection
(com.aerospike.client.cluster.Connection conn) Close pooled connection on error and decrement connection count.final void
closeConnectionOnError
(com.aerospike.client.cluster.Connection conn) Close any connection on error.final void
closeConnections
(AtomicInteger eventLoopCount, int index) Close all node socket connections from event loop.final void
closeIdleConnection
(com.aerospike.client.cluster.Connection conn) Close connection without incrementing error count.final void
Close synchronous connections.final void
connectionOpened
(int index) final void
final void
decrAsyncConnection
(int index) final void
enableMetrics
(com.aerospike.client.metrics.MetricsPolicy policy) final boolean
final boolean
final InetSocketAddress
Return node IP address.final com.aerospike.client.async.AsyncConnection
getAsyncConnection
(int index, ByteBuffer byteBuffer) final ConnectionStats
final Node.AsyncPool
getAsyncPool
(int index) final com.aerospike.client.cluster.Connection
getConnection
(int timeoutMillis) Get a socket connection from connection pool to the server node.final com.aerospike.client.cluster.Connection
getConnection
(int connectTimeout, int socketTimeout) Get a socket connection from connection pool to the server node.final com.aerospike.client.cluster.Connection
getConnection
(com.aerospike.client.command.SyncCommand cmd, int connectTimeout, int socketTimeout, int timeoutDelay) Get a socket connection from connection pool to the server node.final ConnectionStats
long
Return transaction error count.final Host
getHost()
Return server node IP address and port.final com.aerospike.client.metrics.NodeMetrics
final String
getName()
Return server node name.final int
Return current generation of partition maps.final int
Return current generation of cluster peers.final int
Return current generation of racks.final byte[]
Return node session token.long
Return transaction timeout count.final boolean
final int
hashCode()
final boolean
final boolean
final boolean
Return if this node has the same rack as the client for the given namespace.final void
final boolean
isActive()
Return whether node is currently active.final boolean
putAsyncConnection
(com.aerospike.client.async.AsyncConnection conn, int index) final void
putConnection
(com.aerospike.client.cluster.Connection conn) Put connection back into connection pool.final void
refresh
(com.aerospike.client.cluster.Peers peers) Request current status from server node.final boolean
reserveAsyncConnectionSlot
(int index) final void
final void
final String
toString()
Does server support partition scans.final void
-
Field Details
-
PARTITIONS
public static final int PARTITIONSNumber of partitions for each namespace.- See Also:
-
HAS_PARTITION_SCAN
public static final int HAS_PARTITION_SCAN- See Also:
-
HAS_QUERY_SHOW
public static final int HAS_QUERY_SHOW- See Also:
-
HAS_BATCH_ANY
public static final int HAS_BATCH_ANY- See Also:
-
HAS_PARTITION_QUERY
public static final int HAS_PARTITION_QUERY- See Also:
-
-
Constructor Details
-
Node
public Node(com.aerospike.client.cluster.Cluster cluster, com.aerospike.client.cluster.NodeValidator nv) Initialize server node with connection parameters.- Parameters:
cluster
- collection of active server nodesnv
- connection parameters
-
-
Method Details
-
createMinConnections
public final void createMinConnections() -
refresh
public final void refresh(com.aerospike.client.cluster.Peers peers) Request current status from server node. -
signalLogin
public final void signalLogin() -
getConnection
public final com.aerospike.client.cluster.Connection getConnection(int timeoutMillis) Get a socket connection from connection pool to the server node. -
getConnection
public final com.aerospike.client.cluster.Connection getConnection(int connectTimeout, int socketTimeout) Get a socket connection from connection pool to the server node. -
getConnection
public final com.aerospike.client.cluster.Connection getConnection(com.aerospike.client.command.SyncCommand cmd, int connectTimeout, int socketTimeout, int timeoutDelay) Get a socket connection from connection pool to the server node. -
putConnection
public final void putConnection(com.aerospike.client.cluster.Connection conn) Put connection back into connection pool.- Parameters:
conn
- socket connection
-
closeConnection
public final void closeConnection(com.aerospike.client.cluster.Connection conn) Close pooled connection on error and decrement connection count. -
closeConnectionOnError
public final void closeConnectionOnError(com.aerospike.client.cluster.Connection conn) Close any connection on error. -
closeIdleConnection
public final void closeIdleConnection(com.aerospike.client.cluster.Connection conn) Close connection without incrementing error count. -
getConnectionStats
-
getAsyncConnection
public final com.aerospike.client.async.AsyncConnection getAsyncConnection(int index, ByteBuffer byteBuffer) -
reserveAsyncConnectionSlot
public final boolean reserveAsyncConnectionSlot(int index) -
connectionOpened
public final void connectionOpened(int index) -
putAsyncConnection
public final boolean putAsyncConnection(com.aerospike.client.async.AsyncConnection conn, int index) -
closeAsyncConnection
public final void closeAsyncConnection(com.aerospike.client.async.AsyncConnection conn, int index) Close async connection on error. -
closeAsyncIdleConnection
public final void closeAsyncIdleConnection(com.aerospike.client.async.AsyncConnection conn, int index) Close async connection without incrementing error count. -
decrAsyncConnection
public final void decrAsyncConnection(int index) -
getAsyncPool
-
balanceAsyncConnections
-
getAsyncConnectionStats
-
enableMetrics
public final void enableMetrics(com.aerospike.client.metrics.MetricsPolicy policy) -
getMetrics
public final com.aerospike.client.metrics.NodeMetrics getMetrics() -
addLatency
public final void addLatency(com.aerospike.client.metrics.LatencyType type, long elapsed) Add elapsed time in nanoseconds to latency buckets corresponding to latency type. -
incrErrorRate
public final void incrErrorRate() -
resetErrorRate
public final void resetErrorRate() -
errorRateWithinLimit
public final boolean errorRateWithinLimit() -
validateErrorCount
public final void validateErrorCount() -
addError
public void addError()Increment transaction error count. If the error is retryable, multiple errors per transaction may occur. -
addTimeout
public void addTimeout()Increment transaction timeout count. If the timeout is retryable (ie socketTimeout), multiple timeouts per transaction may occur. -
getErrorCount
public long getErrorCount()Return transaction error count. The value is cumulative and not reset per metrics interval. -
getTimeoutCount
public long getTimeoutCount()Return transaction timeout count. The value is cumulative and not reset per metrics interval. -
getHost
Return server node IP address and port. -
isActive
public final boolean isActive()Return whether node is currently active. -
getName
Return server node name. -
getAddress
Return node IP address. -
getSessionToken
public final byte[] getSessionToken()Return node session token. -
getPeersGeneration
public final int getPeersGeneration()Return current generation of cluster peers. -
getPartitionGeneration
public final int getPartitionGeneration()Return current generation of partition maps. -
getRebalanceGeneration
public final int getRebalanceGeneration()Return current generation of racks. -
hasRack
Return if this node has the same rack as the client for the given namespace. -
hasQueryShow
public final boolean hasQueryShow() -
hasBatchAny
public final boolean hasBatchAny() -
hasPartitionQuery
public final boolean hasPartitionQuery() -
toString
Does server support partition scans. -
hashCode
public final int hashCode() -
equals
-
close
public final void close()Close all socket connections.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
closeConnections
Close all node socket connections from event loop. Must be called from event loop thread. -
closeAsyncConnections
public final void closeAsyncConnections(int index) Close asynchronous connections. Must be called from event loop thread. -
closeSyncConnections
public final void closeSyncConnections()Close synchronous connections.
-