ScanPolicy MembersAerospike

The ScanPolicy type exposes the following members.
Constructors

  NameDescription
Public methodScanPolicy 
Default constructor.
Public methodScanPolicy(ScanPolicy)
Copy scan policy from another scan policy.
Back to Top
Methods

  NameDescription
Public methodSetTimeout
Create a single timeout by setting socketTimeout and totalTimeout to the same value.
(Inherited from Policy.)
Public methodSetTimeouts
Set socketTimeout and totalTimeout. If totalTimeout defined and socketTimeout greater than totalTimeout, set socketTimeout to totalTimeout.
(Inherited from Policy.)
Back to Top
Fields

  NameDescription
Public fieldconcurrentNodes
Issue scan requests in parallel or serially.
Public fieldconsistencyLevel
How replicas should be consulted in a read operation to provide the desired consistency guarantee.

Default: CONSISTENCY_ONE

(Inherited from Policy.)
Public fieldfailOnClusterChange
Terminate scan if cluster in fluctuating state.
Public fieldincludeBinData
Indicates if bin data is retrieved. If false, only record digests (and user keys if stored on the server) are retrieved.
Public fieldlinearizeRead
Force reads to be linearized for server namespaces that support CP mode.

Default: false

(Inherited from Policy.)
Public fieldmaxConcurrentNodes
Maximum number of concurrent requests to server nodes at any point in time. If there are 16 nodes in the cluster and maxConcurrentNodes is 8, then scan requests will be made to 8 nodes in parallel. When a scan completes, a new scan request will be issued until all 16 nodes have been scanned.

This field is only relevant when concurrentNodes is true. Default (0) is to issue requests to all server nodes in parallel.

Public fieldmaxRetries
Maximum number of retries before aborting the current transaction. The initial attempt is not counted as a retry.

If maxRetries is exceeded, the transaction will abort with AerospikeException Timeout.

WARNING: Database writes that are not idempotent (such as Add()) should not be retried because the write operation may be performed multiple times if the client timed out previous transaction attempts. It's important to use a distinct WritePolicy for non-idempotent writes which sets maxRetries = 0;

Default: 2 (initial attempt + 2 retries = 3 attempts)

(Inherited from Policy.)
Public fieldpriority
Priority of request relative to other transactions. Currently, only used for scans.
(Inherited from Policy.)
Public fieldreplica
Replica algorithm used to determine the target node for a single record command. Batch, scan and query are not affected by replica algorithms.

Default: SEQUENCE

(Inherited from Policy.)
Public fieldscanPercent
Percent of data to scan. Valid integer range is 1 to 100. Default is 100.
Public fieldsendKey
Send user defined key in addition to hash digest on both reads and writes. If the key is sent on a write, the key will be stored with the record on the server.

Default: false (do not send the user defined key)

(Inherited from Policy.)
Public fieldsleepBetweenRetries
Milliseconds to sleep between retries. Enter zero to skip sleep.

The sleep only occurs on connection errors and server timeouts which suggest a node is down and the cluster is reforming. The sleep does not occur when the client's socketTimeout expires.

This field is ignored in async mode.

Reads do not have to sleep when a node goes down because the cluster does not shut out reads during cluster reformation. The default for reads is zero.

Writes need to wait for the cluster to reform when a node goes down. Immediate write retries on node failure have been shown to consistently result in errors. The default for writes is 500ms. This default is implemented in ClientPolicy 

(Inherited from Policy.)
Public fieldsocketTimeout
Socket idle timeout in milliseconds when processing a database command.

If socketTimeout is not zero and the socket has been idle for at least socketTimeout, both maxRetries and totalTimeout are checked. If maxRetries and totalTimeout are not exceeded, the transaction is retried.

If both socketTimeout and totalTimeout are non-zero and socketTimeout > totalTimeout, then socketTimeout will be set to totalTimeout.

If socketTimeout is zero, there will be no socket idle limit.

For synchronous methods, socketTimeout is the socket SendTimeout and ReceiveTimeout. For asynchronous methods, the socketTimeout is implemented using an AsyncTimeoutQueue and socketTimeout is only used if totalTimeout is not defined.

Default: 0 (no socket idle time limit).

(Inherited from Policy.)
Public fieldtotalTimeout
Total transaction timeout in milliseconds.

The totalTimeout is tracked on the client and sent to the server along with the transaction in the wire protocol. The client will most likely timeout first, but the server also has the capability to timeout the transaction.

If totalTimeout is not zero and totalTimeout is reached before the transaction completes, the transaction will abort with AerospikeException Timeout.

If totalTimeout is zero, there will be no total time limit.

Default: 0 (no time limit).

(Inherited from Policy.)
Back to Top
See Also