THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
/**
* The request object for Interactive Queries.
* This is an immutable builder class for passing all required and
* optional arguments for querying a state store in Kafka Streams.
* <p>
* @param <R> The type of the query result.
*/
@Evolving
public class InteractiveQueryRequest<R> {
/**
* First required argument to specify the name of the store to query
*/
public static InStore inStore(final String name);
public static class InStore {
/**
* Second required argument to provide the query to execute.
*/
public <R> InteractiveQueryRequest<R> withQuery(final Query<R> query);
}
/**
* Optionally bound the current position of the state store
* with respect to the input topics that feed it. In conjunction
* with {@link InteractiveQueryResult#getPosition}, this can be
* used to achieve a good balance between consistency and
* availability in which repeated queries are guaranteed to
* advance in time while allowing reads to be served from any
* replica that is caught up to that caller's prior observations.
* <p>
* Note that the set of offsets provided in the bound does not determine
* the partitions to query. For that, see {@link withPartitionsToQuery}.
* Unrelated offsets will be ignored, and missing offsets will be treated
* as indicating "no bound".
*/
public InteractiveQueryRequest<R> withPositionBound(PositionBound positionBound);
/**
* Optionally specify the partitions to include in the query.
* If omitted, the default is to query all locally available partitions
*/
public InteractiveQueryRequest<R> withPartitions(Set<Integer> partitions);
/**
* Query all locally available partitions
*/
public InteractiveQueryRequest<R> withAllPartitions();
/**
* Instruct Streams to collect detailed information during query
* execution, for example, which stores handled the query, how
* long they took, etc.
*/
public InteractiveQueryRequest<R> enableExecutionInfo();
// Getters are also proposed to retrieve the request parameters
public String getStoreName();
public Query<R> getQuery();
public PositionBound getPositionBound();
public boolean executionInfoEnabled()
/**
* empty set indicates that no partitions will be fetched
* non-empty set indicate the specific partitions that will be fetched (if locally available)
* throws UnsupportedOperationException if the request is to all partitions (isAllPartitions() == true)
*/
public Set<Integer> getPartitions();
/**
* indicates that all locally available partitions will be fetched
*/
public boolean isAllPartitions();
} |
...