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.

Inherited Policy fields Policy.txn and Policy.failOnFilteredOut are ignored in scan commands.

  • 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.

      Default: 0 (do not limit record count)

    • 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

  • 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. Disable totalTimeout and set maxRetries.

      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

    • setMaxRecords

      public void setMaxRecords(long maxRecords)
    • setRecordsPerSecond

      public void setRecordsPerSecond(int recordsPerSecond)
    • setMaxConcurrentNodes

      public void setMaxConcurrentNodes(int maxConcurrentNodes)
    • setConcurrentNodes

      public void setConcurrentNodes(boolean concurrentNodes)
    • setIncludeBinData

      public void setIncludeBinData(boolean includeBinData)