THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
This is a container for a single partition's query result.
Code Block |
---|
@Evolving public class QueryResult<R> { // wraps a successful result public static <R> QueryResult<R> forResult(R result); // returns a failed query result because the store didn't know how to handle the query. public static <R> QueryResult<R> forUnknownQueryType(Query<R> query, StateStore store); // returns a failed query result because the partition wasn't caught up to the desired bound. public static <R> QueryResult<R> notUpToBound(Position currentPosition, Position bound); // returns a failed query result because caller requested a "latest" bound, but the task was // not active and running. public static <R> QueryResult<R> notActive(String currentState); // Used by state stores that need to delegate to another store to run a query and then // translate the results. Does not change the execution info or any other metadata. public <NewR> QueryResult<NewR> swapResult(NewR newTypedResult); // If requested by StoreQuery#isExecutionInfoEnabled, stores should record // helpful information, such as their own class, how they executed the query, // and the time they took. public void addExecutionInfo(String executionInfo); ... } |
Position
A class representing (or bounding) a processing state position in terms of its inputs: a vector or (topic, partition, offset) components. When used as a bound, it can also represent special "unbounded" or "latest" bounds.
Code Block |
---|
public interface Position {
// Create a new Position from a map of topic -> partition -> offset
static Position fromMap(Map<String, Map<Integer, Long>> map);
// Create a new Position bound representing only the latest state
static Position latestMarker();
// Create a new Position bound representing "no bound"
static Position unbounded();
// Create a new, empty Position
static Position emptyPosition();
// Return a new position based on the current one, with the given component added
Position withComponent(String topic, int partition, long offset);
// Merge all the components of this position with all the components of the other
// position and return the result in a new Position
Position merge(Position other);
// Check whether this is a "latest" Position bound
boolean isLatestMarker();
// Check whether this is an "unbounded" Position bound
boolean isUnbounded();
// Get the set of topics included in this Position
Set<String> getTopics();
// Given a topic, get the partition -> offset pairs included in this Position
Map<Integer, Long> getBound(String topic);
} |
Compatibility, Deprecation, and Migration Plan
...