Class ScanPolicy
public final class ScanPolicy extends Policy
-
Field Summary
Fields Modifier and Type Field Description boolean
concurrentNodes
Should scan requests be issued in parallel.boolean
failOnClusterChange
Terminate scan if cluster in migration state.boolean
includeBinData
Should bin data be retrieved.int
maxConcurrentNodes
Maximum number of concurrent requests to server nodes at any point in time.long
maxRecords
Approximate number of records to return to client.int
recordsPerSecond
Limit returned records per second (rps) rate for each server.int
scanPercent
Percent of data to scan.Fields inherited from class com.aerospike.client.policy.Policy
compress, failOnFilteredOut, maxRetries, predExp, priority, readModeAP, readModeSC, replica, sendKey, sleepBetweenRetries, socketTimeout, timeoutDelay, totalTimeout
-
Constructor Summary
Constructors Constructor Description ScanPolicy()
Default constructor.ScanPolicy(Policy other)
Copy scan policy from another policy.ScanPolicy(ScanPolicy other)
Copy scan policy from another scan policy. -
Method Summary
Modifier and Type Method Description void
validate()
Verify policies fields are within range.
-
Field Details
-
maxRecords
public long maxRecordsApproximate number of records to return to client. This number is divided by the number of nodes involved in the scan. The actual number of records returned may be less than maxRecords if node record counts are small and unbalanced across nodes.This field is supported on server versions >= 4.9.
Default: 0 (do not limit record count)
-
scanPercent
public int scanPercentPercent of data to scan. Valid integer range is 1 to 100.This field is supported on server versions < 4.9. Server versions >= 4.9 might allow scanPercent, but not in conjunction with
maxRecords
. scanPercent is eventually slated for removal.Default: 100
-
recordsPerSecond
public int recordsPerSecondLimit returned records per second (rps) rate for each server. Do not apply rps limit if recordsPerSecond is zero.Default: 0
-
maxConcurrentNodes
public int maxConcurrentNodesMaximum 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 (issue requests to all server nodes in parallel)
-
concurrentNodes
public boolean concurrentNodesShould scan requests be issued in parallel.Default: true
-
includeBinData
public boolean includeBinDataShould bin data be retrieved. If false, only record digests (and user keys if stored on the server) are retrieved.Default: true
-
failOnClusterChange
public boolean failOnClusterChangeTerminate scan if cluster in migration state. Only used for server versions < 4.9.Default: false
-
-
Constructor Details
-
ScanPolicy
Copy scan policy from another scan policy. -
ScanPolicy
Copy scan policy from another policy. -
ScanPolicy
public ScanPolicy()Default constructor.Set maxRetries for scans on server versions >= 4.9. All other scans are not retried.
The latest servers support retries on individual data partitions. This feature is useful when a cluster is migrating and partition(s) are missed or incomplete on the first scan attempt.
If the first scan attempt misses 2 of 4096 partitions, then only those 2 partitions are retried in the next scan attempt from the last key digest received for each respective partition. A higher default maxRetries is used because it's wasteful to invalidate all scan results because a single partition was missed.
-
-
Method Details
-
validate
public void validate()Verify policies fields are within range.
-