ClientPolicy Class

Aerospike
Client initialization arguments.
Inheritance Hierarchy

SystemObject
  Aerospike.ClientClientPolicy
    Aerospike.ClientAsyncClientPolicy

Namespace:  Aerospike.Client
Assembly:  AerospikeClient (in AerospikeClient.dll) Version: 5.1.1.0 (5.1.1)
Syntax

C#
public class ClientPolicy

The ClientPolicy type exposes the following members.

Constructors

  NameDescription
Public methodClientPolicy
Default constructor.
Public methodClientPolicy(ClientPolicy)
Copy client policy from another client policy.
Top
Fields

  NameDescription
Public fieldauthMode
Authentication mode.

Default: AuthMode.INTERNAL

Public fieldbatchDeletePolicyDefault
Default delete policy used in batch delete commands.
Public fieldbatchParentPolicyWriteDefault
Default parent policy used in batch write commands. Parent policy fields include socketTimeout, totalTimeout, maxRetries, etc...
Public fieldbatchPolicyDefault
Default parent policy used in batch read commands. Parent policy fields include socketTimeout, totalTimeout, maxRetries, etc...
Public fieldbatchUDFPolicyDefault
Default user defined function policy used in batch UDF excecute commands.
Public fieldbatchWritePolicyDefault
Default write policy used in batch operate commands. Write policy fields include generation, expiration, durableDelete, etc...
Public fieldclusterName
Expected cluster name. If populated, server nodes must return this cluster name in order to join the client's view of the cluster. Should only be set when connecting to servers that support the "cluster-name" info command.

Default: null

Public fieldconnPoolsPerNode
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

Public fielderrorRateWindow
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

Public fieldfailIfNotConnected
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

Public fieldinfoPolicyDefault
Default info policy that is used when info command's policy is null.
Public fieldipMap
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)

Public fieldloginTimeout
Login timeout in milliseconds. The timeout used when user authentication is enabled and a node login is being performed.

Default: 5000

Public fieldmaxConnsPerNode
Maximum number of synchronous connections allowed per server node. Transactions 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.

This field is ignored by asynchronous transactions since these transactions are already bound by asyncMaxCommands by default. Each async command has a one-to-one relationship with connections.

Default: 300

Public fieldmaxErrorRate
Maximum number of errors allowed per node per errorRateWindow before backoff algorithm throws AerospikeExceptionBackoff 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: 0

Public fieldmaxSocketIdle
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 transactions 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: 55

Public fieldminConnsPerNode
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

Public fieldpassword
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

Public fieldqueryPolicyDefault
Default query policy that is used when query command's policy is null.
Public fieldrackAware
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

Public fieldrackId
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

Public fieldrackIds
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

Public fieldreadPolicyDefault
Default read policy that is used when read command's policy is null.
Public fieldscanPolicyDefault
Default scan policy that is used when scan command's policy is null.
Public fieldtendInterval
Interval in milliseconds between cluster tends by maintenance thread.

Default: 1000

Public fieldtimeout
Initial host connection timeout in milliseconds. The timeout when opening a connection to the server host for the first time.

Default: 1000

Public fieldtlsPolicy
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)

Public fielduser
User authentication to cluster. Leave null for clusters running without restricted access.

Default: null

Public fielduseServicesAlternate
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)

Public fieldwritePolicyDefault
Default write policy that is used when write command's policy is null.
Top
See Also

Reference