AerospikeClientProxy Class

Aerospike proxy client based implementation of AerospikeClient. The proxy client communicates with a proxy server via GRPC and HTTP/2. The proxy server relays the database commands to the Aerospike server. The proxy client does not have knowledge of Aerospike server nodes. Only the proxy server can communicate directly with Aerospike server nodes. GRPC is an async framework, but the code stubs provided some sync unary operations, which are the basis for some of the database operations here. For a fully async proxy client see AsyncClientProxy. Note that not all of the methods in the original AerospikeClient and AsyncClient are applicable to the proxy client. All of the methods using a listener are marked as obsolete.

Definition

Namespace: Aerospike.Client
Assembly: AerospikeClient (in AerospikeClient.dll) Version: 7.0.1
C#
public class AerospikeClientProxy : IDisposable, 
	IAerospikeClient
Inheritance
Object    AerospikeClientProxy
Derived
Implements
IAerospikeClient, IDisposable

Constructors

AerospikeClientProxy Initialize Aerospike proxy client with suitable hosts to seed the cluster map. The client policy is used to set defaults and size internal data structures. For the first host connection that succeeds, the client will:
  • Add host to the cluster map
  • Request host's list of other nodes in cluster
  • Add these nodes to cluster map

In most cases, only one host is necessary to seed the cluster. The remaining hosts are added as future seeds in case of a complete network failure.

If one connection succeeds, the client is ready to process database requests. If all connections fail and the policy's failIfNotConnected is true, a connection exception will be thrown. Otherwise, the cluster will remain in a disconnected state until the server is activated.

Properties

batchDeletePolicyDefault Default delete policy used in batch delete commands.
BatchDeletePolicyDefault Default delete policy used in batch delete commands.
batchParentPolicyWriteDefault Default parent policy used in batch write commands. Parent policy fields include socketTimeout, totalTimeout, maxRetries, etc...
BatchParentPolicyWriteDefault Default parent policy used in batch write commands. Parent policy fields include socketTimeout, totalTimeout, maxRetries, etc...
batchPolicyDefault Default parent policy used in batch read commands. Parent policy fields include socketTimeout, totalTimeout, maxRetries, etc...
BatchPolicyDefault Default parent policy used in batch read commands.Parent policy fields include socketTimeout, totalTimeout, maxRetries, etc...
batchUDFPolicyDefault Default user defined function policy used in batch UDF excecute commands.
BatchUDFPolicyDefault Default user defined function policy used in batch UDF excecute commands.
batchWritePolicyDefault Default write policy used in batch operate commands. Write policy fields include generation, expiration, durableDelete, etc...
BatchWritePolicyDefault Default write policy used in batch operate commands. Write policy fields include generation, expiration, durableDelete, etc...
Cluster Cluster associated with this AerospikeClient instance.
Connected Return if we are ready to talk to the database server cluster.
Disposed 
infoPolicyDefault Default info policy that is used when info command policy is null.
InfoPolicyDefault Default info policy that is used when info command policy is null.
Nodes Return array of active server nodes in the cluster.
queryPolicyDefault Default query policy that is used when query command policy is null.
QueryPolicyDefault Default query policy that is used when query command policy is null.
readPolicyDefault Default read policy that is used when read command policy is null.
ReadPolicyDefault Default read policy that is used when read command policy is null.
scanPolicyDefault Default scan policy that is used when scan command policy is null.
ScanPolicyDefault Default scan policy that is used when scan command policy is null.
writePolicyDefault Default write policy that is used when write command policy is null.
WritePolicyDefault Default write policy that is used when write command policy is null.

Methods

Add Add integer/double bin values to existing record bin values. The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists.
Append Append bin string values to existing record bin values. The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call only works for string values.
ChangePassword Not supported in proxy client
Obsolete.
Close Close all client connections to database server nodes.
CreateIndex(Policy, String, String, String, String, IndexType) Not supported in proxy client
Obsolete.
CreateIndex(Policy, String, String, String, String, IndexType, IndexCollectionType, CTX) Not supported in proxy client
Obsolete.
CreateRole(AdminPolicy, String, IListPrivilege) Not supported in proxy client
Obsolete.
CreateRole(AdminPolicy, String, IListPrivilege, IListString) Not supported in proxy client
Obsolete.
CreateRole(AdminPolicy, String, IListPrivilege, IListString, Int32, Int32) Not supported in proxy client
Obsolete.
CreateUser Not supported in proxy client
Obsolete.
Delete(WritePolicy, Key) Delete record for specified key. Return whether record existed on server before deletion. The policy specifies the transaction timeout.
Delete(BatchPolicy, BatchDeletePolicy, Key) Delete records for specified keys. If a key is not found, the corresponding result resultCode will be KEY_NOT_FOUND_ERROR.

Requires server version 6.0+

Dispose Close all client connections to database server nodes.
DropIndex Not supported by proxy client
Obsolete.
DropRole Not supported in proxy client
Obsolete.
DropUser Not supported in proxy client
Obsolete.
Execute(WritePolicy, Statement, Operation) Apply operations on records that match the background query statement filter. Records are not returned to the client. This asynchronous server call will return before the command is complete. The user can optionally wait for command completion by using the returned ExecuteTask instance.
Execute(WritePolicy, Key, String, String, Value) Execute user defined function on server and return results. The function operates on a single record. The package name is used to locate the udf file location:

udf file = <server udf dir>/<package name>.lua

Execute(WritePolicy, Statement, String, String, Value) Apply user defined function on records that match the background query statement filter. Records are not returned to the client. This asynchronous server call will return before the command is complete. The user can optionally wait for command completion by using the returned ExecuteTask instance.
Execute(BatchPolicy, BatchUDFPolicy, Key, String, String, Value) Execute user defined function on server for each key and return results. The package name is used to locate the udf file location:

udf file = <server udf dir>/<package name>.lua

Requires server version 6.0+

Exists(BatchPolicy, Key) Check if multiple record keys exist in one batch call. The returned boolean array is in positional order with the original key array order.
Exists(Policy, Key) Determine if a record key exists. Return whether record exists or not. The policy can be used to specify timeouts.
Get(BatchPolicy, Key) Read multiple records for specified keys in one batch call. The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.
Get(BatchPolicy, ListBatchRead) Read multiple records for specified batch keys in one batch call. This method allows different namespaces/bins to be requested for each key in the batch. The returned records are located in the same list. If the BatchRead key field is not found, the corresponding record field will be null.
Get(Policy, Key) Read entire record for specified key. If found, return record instance. If not found, return null. The policy can be used to specify timeouts.
Get(BatchPolicy, Key, Operation) Read multiple records for specified keys using read operations in one batch call. The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.
Get(BatchPolicy, Key, String) Read multiple record headers and bins for specified keys in one batch call. The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.
Get(Policy, Key, String) Read record header and bins for specified key. If found, return record instance. If not found, return null. The policy can be used to specify timeouts.
GetClusterStats Return operating cluster statistics.
GetHeader(BatchPolicy, Key) Read multiple record header data for specified keys in one batch call. The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.
GetHeader(Policy, Key) Read record generation and expiration only for specified key. Bins are not read. If found, return record instance. If not found, return null. The policy can be used to specify timeouts.
GrantPrivileges Not supported in proxy client
Obsolete.
GrantRoles Not supported in proxy client
Obsolete.
Join(BatchPolicy, Key, Join) Not supported in proxy client
Obsolete.
Join(BatchPolicy, Key, String, Join) Not supported in proxy client
Obsolete.
Operate(BatchPolicy, ListBatchRecord) Read/Write multiple records for specified batch keys in one batch call. This method allows different namespaces/bins for each key in the batch. The returned records are located in the same list.

BatchRecord can be BatchRead, BatchWrite, BatchDelete or BatchUDF.

Requires server version 6.0+

Operate(WritePolicy, Key, Operation) Perform multiple read/write operations on a single key in one batch call. An example would be to add an integer value to an existing record and then read the result, all in one database call.

The server executes operations in the same order as the operations array. Both scalar bin operations (Operation) and CDT bin operations (ListOperation, MapOperation) can be performed in same call.

Operate(BatchPolicy, BatchWritePolicy, Key, Operation) Perform read/write operations on multiple keys. If a key is not found, the corresponding result resultCode will be KEY_NOT_FOUND_ERROR.

Requires server version 6.0+

Prepend Prepend bin string values to existing record bin values. The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call works only for string values.
Put Write record bin(s). The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists.
Query(QueryPolicy, Statement) Execute query on all server nodes and return records via the listener. This method will block until the query is complete.

If maxConcurrentNodes is not 1, the supplied listener must handle shared data in a thread-safe manner, because the listener will be called by multiple query threads (one thread per node) in parallel.

Requires server version 6.0+ if using a secondary index query.

Query(QueryPolicy, Statement, QueryListener) Not supported in proxy client
Obsolete.
Query(QueryPolicy, Statement, ActionKey, Record) Execute query and call action for each record returned from server.
Query(QueryPolicy, Statement, PartitionFilter, QueryListener) Not supported in proxy client
Obsolete.
QueryAggregate(QueryPolicy, Statement) Not supported in proxy client
Obsolete.
QueryAggregate(QueryPolicy, Statement, ActionObject) Not supported in proxy client
Obsolete.
QueryAggregate(QueryPolicy, Statement, String, String, Value) Not supported in proxy client
Obsolete.
QueryPartitions(QueryPolicy, Statement, PartitionFilter) Execute query for specified partitions and return record iterator. The query executor puts records on a queue in separate threads. The calling thread concurrently pops records off the queue through the record iterator.

Requires server version 6.0+ if using a secondary index query.

QueryPartitions(QueryPolicy, Statement, PartitionFilter, CancellationToken) 
QueryRole Not supported in proxy client
Obsolete.
QueryRoles Not supported in proxy client
Obsolete.
QueryUser Not supported in proxy client
Obsolete.
QueryUsers Not supported in proxy client
Obsolete.
Register(Policy, String, String, Language) Not supported in proxy client
Obsolete.
Register(Policy, Assembly, String, String, Language) Not supported in proxy client
Obsolete.
RegisterUdfString Not supported in proxy client
Obsolete.
RemoveUdf Not supported in proxy client
Obsolete.
RevokePrivileges Not supported in proxy client
Obsolete.
RevokeRoles Not supported in proxy client
Obsolete.
ScanAll(ScanPolicy, String, String, String) Read all records in specified namespace and set.

This call will block until the scan is complete

ScanAll(ScanPolicy, String, String, ScanCallback, String) Not supported in proxy client
Obsolete.
ScanNode(ScanPolicy, Node, String, String, ScanCallback, String) Not supported in proxy client
Obsolete.
ScanNode(ScanPolicy, String, String, String, ScanCallback, String) Not supported in proxy client
Obsolete.
ScanPartitions(ScanPolicy, PartitionFilter, String, String, String) Read records in specified namespace, set and partition filter.

This call will block until the scan is complete

ScanPartitions(ScanPolicy, PartitionFilter, String, String, ScanCallback, String) Not supported in proxy client
Obsolete.
SetQuotas Not supported in proxy client
Obsolete.
SetWhitelist Not supported in proxy client
Obsolete.
SetXDRFilter Not supported in proxy client
Obsolete.
Touch Reset record's time to expiration using the policy's expiration. Fail if the record does not exist.
Truncate Not supported in proxy client
Obsolete.

See Also