Class QueryPolicy
-
Field Summary
Modifier and TypeFieldDescriptionboolean
Terminate query if cluster is in migration state.boolean
Should bin data be retrieved.int
Timeout in milliseconds for "cluster-stable" info command that is run whenfailOnClusterChange
is true and server version is less than 6.0.int
Maximum number of concurrent requests to server nodes at any point in time.long
Deprecated.int
Number of records to place in queue before blocking.boolean
Is query expected to return less than 100 records per node.Fields inherited from class com.aerospike.client.policy.Policy
compress, connectTimeout, failOnFilteredOut, filterExp, maxRetries, readModeAP, readModeSC, replica, sendKey, sleepBetweenRetries, socketTimeout, timeoutDelay, totalTimeout
-
Constructor Summary
ConstructorDescriptionDefault constructor.QueryPolicy
(Policy other) Copy query policy from another policy.QueryPolicy
(QueryPolicy other) Copy query policy from another query policy. -
Method Summary
Modifier and TypeMethodDescriptionvoid
setFailOnClusterChange
(boolean failOnClusterChange) void
setIncludeBinData
(boolean includeBinData) void
setInfoTimeout
(int infoTimeout) void
setMaxConcurrentNodes
(int maxConcurrentNodes) void
setMaxRecords
(long maxRecords) void
setRecordQueueSize
(int recordQueueSize) void
setShortQuery
(boolean shortQuery) Methods inherited from class com.aerospike.client.policy.Policy
equals, hashCode, setCompress, setConnectTimeout, setFailOnFilteredOut, setFilterExp, setMaxRetries, setReadModeAP, setReadModeSC, setReplica, setSendKey, setSleepBetweenRetries, setSocketTimeout, setTimeout, setTimeoutDelay, setTimeouts, setTotalTimeout
-
Field Details
-
maxRecords
Deprecated.This field is deprecated. UseStatement.setMaxRecords(long)
instead. Approximate number of records to return to client. This number is divided by the number of nodes involved in the query. The actual number of records returned may be less than maxRecords if node record counts are small and unbalanced across nodes.maxRecords is only supported when query filter is null. maxRecords exists here because query methods will convert into a scan when the query filter is null. maxRecords is ignored when the query contains a filter.
Default: 0 (do not limit record count)
-
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 queries will be made to 8 nodes in parallel. When a query completes, a new query will be issued until all 16 nodes have been queried.Default: 0 (issue requests to all server nodes in parallel)
-
recordQueueSize
public int recordQueueSizeNumber of records to place in queue before blocking. Records received from multiple server nodes will be placed in a queue. A separate thread consumes these records in parallel. If the queue is full, the producer threads will block until records are consumed.Default: 5000
-
infoTimeout
public int infoTimeoutTimeout in milliseconds for "cluster-stable" info command that is run whenfailOnClusterChange
is true and server version is less than 6.0.Default: 1000
-
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 query if cluster is in migration state. If the server supports partition queries or the query filter is null (scan), this field is ignored.Default: false
-
shortQuery
public boolean shortQueryIs query expected to return less than 100 records per node. If true, the server will optimize the query for a small record set. This field is ignored for aggregation queries, background queries and server versions < 6.0.Default: false
-
-
Constructor Details
-
QueryPolicy
Copy query policy from another query policy. -
QueryPolicy
Copy query policy from another policy. -
QueryPolicy
public QueryPolicy()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 query attempt.
If the first query attempt misses 2 of 4096 partitions, then only those 2 partitions are retried in the next query attempt from the last key digest received for each respective partition. A higher default maxRetries is used because it's wasteful to invalidate all query results because a single partition was missed.
-
-
Method Details
-
setMaxRecords
public void setMaxRecords(long maxRecords) -
setMaxConcurrentNodes
public void setMaxConcurrentNodes(int maxConcurrentNodes) -
setRecordQueueSize
public void setRecordQueueSize(int recordQueueSize) -
setInfoTimeout
public void setInfoTimeout(int infoTimeout) -
setIncludeBinData
public void setIncludeBinData(boolean includeBinData) -
setFailOnClusterChange
public void setFailOnClusterChange(boolean failOnClusterChange) -
setShortQuery
public void setShortQuery(boolean shortQuery)
-