public sealed class AsyncClientPolicy : ClientPolicy
AsyncClientPolicy() | Default constructor. |
AsyncClientPolicy(AsyncClientPolicy) | Copy async client policy from another async client policy. |
Clone |
Creates a deep copy of this client policy.
(Inherited from ClientPolicy) |
asyncBufferSize |
Size of buffer allocated for each async command. The size should be a multiple of 8 KB.
If not, the size is rounded up to the nearest 8 KB increment.
If an async command requires a buffer size less than or equal to asyncBufferSize, the buffer pool will be used. If an async command requires a buffer size greater than asyncBufferSize, a new single-use buffer will be created on the heap. This field is also used to size the buffer pool for all async commands: C#
Default: 128 * 1024 (128 KB) |
asyncMaxCommandAction | How to handle cases when the asynchronous maximum number of concurrent connections have been reached. |
asyncMaxCommands |
Maximum number of concurrent asynchronous commands that can be active at any point in time.
Concurrent commands can target different nodes of the Aerospike cluster. Each command will
use one concurrent connection. The number of concurrent open connections is therefore
limited by:
max open connections = asyncMaxCommands The actual number of open connections to each node of the Aerospike cluster depends on how balanced the commands are between nodes and are limited to asyncMaxConnsPerNode for any given node. For an extreme case where all commands may be destined to the same node of the cluster, asyncMaxCommands should not be set greater than asyncMaxConnsPerNode to avoid running out of connections to the node.Further, this maximum number of open connections across all nodes should not exceed the total socket file descriptors available on the client machine. The socket file descriptors available can be determined by the following command: ulimit -n Default: 100 |
asyncMaxCommandsInQueue |
Maximum number of async commands that can be stored in the delay queue when
asyncMaxCommandAction is DELAY
and asyncMaxCommands is reached.
Queued commands consume memory, but they do not consume connections.
If this limit is reached, the next async command will be rejected with exception AerospikeException.CommandRejected. If this limit is zero, all async commands will be accepted into the delay queue. The optimal value will depend on your application's magnitude of command bursts and the amount of memory available to store commands. Default: 0 (no delay queue limit) |
asyncMaxConnsPerNode |
Maximum number of asynchronous connections allowed per server node. Commands will go
through retry logic and potentially fail with "ResultCode.NO_MORE_CONNECTIONS" if the maximum
number of connections would be exceeded.
The number of connections used per node depends on concurrent commands in progress plus sub-commands used for parallel multi-node commands (batch, scan, and query). One connection will be used for each command. If the value is -1, the value will be set to maxConnsPerNode. Default: -1 (Use maxConnsPerNode) |
asyncMinConnsPerNode |
Minimum number of asynchronous connections allowed per server node. Preallocate min connections
on client node creation. The client will periodically allocate new connections if count falls
below min connections.
Server proto-fd-idle-ms and client maxSocketIdle should be set to zero (no reap) if asyncMinConnsPerNode is greater than zero. Reaping connections can defeat the purpose of keeping connections in reserve for a future burst of activity. Default: 0 |
authMode |
Authentication mode.
Default: AuthMode.INTERNAL (Inherited from ClientPolicy) |
batchDeletePolicyDefault |
Default delete policy used in batch delete commands.
(Inherited from ClientPolicy) |
batchParentPolicyWriteDefault |
Default parent policy used in batch write commands. Parent policy fields
include socketTimeout, totalTimeout, maxRetries, etc...
(Inherited from ClientPolicy) |
batchPolicyDefault |
Default parent policy used in batch read commands. Parent policy fields
include socketTimeout, totalTimeout, maxRetries, etc...
(Inherited from ClientPolicy) |
batchUDFPolicyDefault |
Default user defined function policy used in batch UDF excecute commands.
(Inherited from ClientPolicy) |
batchWritePolicyDefault |
Default write policy used in batch operate commands.
Write policy fields include generation, expiration, durableDelete, etc...
(Inherited from ClientPolicy) |
clusterName |
Expected cluster name. If populated, the clusterName must match the cluster-name field
in the service section in each server configuration. This ensures that the specified
seed nodes belong to the expected cluster on startup. If not, the client will refuse
to add the node to the client's view of the cluster.
Default: null (Inherited from ClientPolicy) |
connPoolsPerNode |
Number of synchronous connection pools used for each node. Machines with 8 cpu cores or
less usually need just one connection pool per node. Machines with a large number of cpu
cores may have their synchronous performance limited by contention for pooled connections.
Contention for pooled connections can be reduced by creating multiple mini connection pools
per node.
Default: 1 (Inherited from ClientPolicy) |
errorRateWindow |
The number of cluster tend iterations that defines the window for maxErrorRate.
One tend iteration is defined as tendInterval plus the time to tend all nodes.
At the end of the window, the error count is reset to zero and backoff State is removed
on all nodes.
Default: 1 (Inherited from ClientPolicy) |
failIfNotConnected |
Should cluster instantiation fail if the client fails to connect to a seed or
all the seed's peers.
If true, throw an exception if all seed connections fail or a seed is valid, but all peers from that seed are not reachable. If false, a partial cluster will be created and the client will automatically connect to the remaining nodes when they become available. Default: true (Inherited from ClientPolicy) |
forceSingleNode | (Inherited from ClientPolicy) |
infoPolicyDefault |
Default info policy that is used when info command's policy is null.
(Inherited from ClientPolicy) |
ipMap |
A IP translation table is used in cases where different clients use different server
IP addresses. This may be necessary when using clients from both inside and outside
a local area network. Default is no translation.
The key is the IP address returned from friend info requests to other servers. The value is the real IP address used to connect to the server. Default: null (no IP address translation) (Inherited from ClientPolicy) |
loginTimeout |
Login timeout in milliseconds. The timeout used when user authentication is enabled and
a node login is being performed.
Default: 5000 (Inherited from ClientPolicy) |
maxConnsPerNode |
Maximum number of synchronous connections allowed per server node. Commands will go
through retry logic and potentially fail with "ResultCode.NO_MORE_CONNECTIONS" if the maximum
number of connections would be exceeded.
The number of connections used per node depends on how many concurrent threads issue database commands plus sub-threads used for parallel multi-node commands (batch, scan, and query). One connection will be used for each thread. See asyncMaxConnsPerNode to configure max connections for asynchronous commands. Default: 100 (Inherited from ClientPolicy) |
maxErrorRate |
Maximum number of errors allowed per node per errorRateWindow before backoff
algorithm throws AerospikeException.Backoff on database
commands to that node. If maxErrorRate is zero, there is no error limit and
the exception will not be thrown.
The counted error types are any error that causes the connection to close (socket errors and client timeouts) and DEVICE_OVERLOAD. Default: 100 (Inherited from ClientPolicy) |
maxSocketIdle |
Maximum socket idle in seconds. Socket connection pools will discard sockets
that have been idle longer than the maximum.
Connection pools are now implemented by a LIFO stack. Connections at the tail of the stack will always be the least used. These connections are checked for maxSocketIdle once every 30 tend iterations (usually 30 seconds). If server's proto-fd-idle-ms is greater than zero, then maxSocketIdle should be at least a few seconds less than the server's proto-fd-idle-ms, so the client does not attempt to use a socket that has already been reaped by the server. If server's proto-fd-idle-ms is zero (no reap), then maxSocketIdle should also be zero. Connections retrieved from a pool in commands will not be checked for maxSocketIdle when maxSocketIdle is zero. Idle connections will still be trimmed down from peak connections to min connections (minConnsPerNode and asyncMinConnsPerNode) using a hard-coded 55 second limit in the cluster tend thread. Default: 0 (Inherited from ClientPolicy) |
minConnsPerNode |
Minimum number of synchronous connections allowed per server node. Preallocate min connections
on client node creation. The client will periodically allocate new connections if count falls
below min connections.
Server proto-fd-idle-ms and client maxSocketIdle should be set to zero (no reap) if minConnsPerNode is greater than zero. Reaping connections can defeat the purpose of keeping connections in reserve for a future burst of activity. Default: 0 (Inherited from ClientPolicy) |
password |
Password authentication to cluster. The password will be stored by the client and sent to server
in hashed format. Leave null for clusters running without restricted access.
Default: null (Inherited from ClientPolicy) |
queryPolicyDefault |
Default query policy that is used when query command's policy is null.
(Inherited from ClientPolicy) |
rackAware |
Track server rack data. This field is useful when directing read commands to the server node
that contains the key and exists on the same rack as the client. This serves to lower cloud
provider costs when nodes are distributed across different racks/data centers.
rackId or rackIds, PREFER_RACK and server rack configuration must also be set to enable this functionality. Default: false (Inherited from ClientPolicy) |
rackId |
Rack where this client instance resides. If rackIds is set,
rackId is ignored.
rackAware, PREFER_RACK and server rack configuration must also be set to enable this functionality. Default: 0 (Inherited from ClientPolicy) |
rackIds |
List of acceptable racks in order of preference.
If rackIds is set, rackId is ignored.
rackAware, PREFER_RACK and server rack configuration must also be set to enable this functionality. Default: null (Inherited from ClientPolicy) |
readPolicyDefault |
Default read policy that is used when read command's policy is null.
(Inherited from ClientPolicy) |
scanPolicyDefault |
Default scan policy that is used when scan command's policy is null.
(Inherited from ClientPolicy) |
tendInterval |
Interval in milliseconds between cluster tends by maintenance thread.
Default: 1000 (Inherited from ClientPolicy) |
timeout |
Initial host connection timeout in milliseconds. The timeout when opening a connection
to the server host for the first time.
Default: 1000 (Inherited from ClientPolicy) |
tlsPolicy |
Secure connection policy for servers that require TLS connections.
Secure connections are only supported for AerospikeClient synchronous commands.
Secure connections are not supported for asynchronous commands because AsyncClient uses the best performing SocketAsyncEventArgs. Unfortunately, SocketAsyncEventArgs is not supported by the provided SslStream. Default: null (Use normal sockets) (Inherited from ClientPolicy) |
txnRollPolicyDefault |
Default transactions policy when rolling the transaction records forward (commit)
or back(abort) in a batch.
(Inherited from ClientPolicy) |
txnVerifyPolicyDefault |
Default transactions policy when verifying record versions in a batch on a commit.
(Inherited from ClientPolicy) |
user |
User authentication to cluster. Leave null for clusters running without restricted access.
Default: null (Inherited from ClientPolicy) |
useServicesAlternate |
Should use "services-alternate" instead of "services" in info request during cluster
tending. "services-alternate" returns server configured external IP addresses that client
uses to talk to nodes. "services-alternate" can be used in place of providing a client "ipMap".
Default: false (use original "services" info request) (Inherited from ClientPolicy) |
writePolicyDefault |
Default write policy that is used when write command's policy is null.
(Inherited from ClientPolicy) |