Class ScanPolicy

java.lang.Object
com.aerospike.client.policy.Policy
com.aerospike.client.policy.ScanPolicy

public final class ScanPolicy
extends Policy
Container object for optional parameters used in scan operations.
  • Field Details

    • maxRecords

      public long maxRecords
      Approximate 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 scanPercent
      Percent 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 recordsPerSecond
      Limit returned records per second (rps) rate for each server. Do not apply rps limit if recordsPerSecond is zero.

      Default: 0

    • maxConcurrentNodes

      public int maxConcurrentNodes
      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 (issue requests to all server nodes in parallel)

    • concurrentNodes

      public boolean concurrentNodes
      Should scan requests be issued in parallel.

      Default: true

    • includeBinData

      public boolean includeBinData
      Should bin data be retrieved. If false, only record digests (and user keys if stored on the server) are retrieved.

      Default: true

    • failOnClusterChange

      public boolean failOnClusterChange
      Terminate scan if cluster in migration state. Only used for server versions < 4.9.

      Default: false

  • Constructor Details

    • ScanPolicy

      public ScanPolicy​(ScanPolicy other)
      Copy scan policy from another scan policy.
    • ScanPolicy

      public ScanPolicy​(Policy other)
      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.