public interface QueryProcessingPool
extends com.google.common.util.concurrent.ListeningExecutorService
QueryRunnerFactory.mergeRunners(QueryProcessingPool, Iterable).
In a most straightforward implementation, each unit will be submitted to an PrioritizedExecutorService. Extensions,
however, can implement their own logic for picking which unit to pick first for execution.
This interface extends ListeningExecutorService as well. It has a separate
method to submit query execution tasks so that implementations can differentiate those tasks from any regular async
tasks. One example is GroupByStrategyV2.mergeRunners(QueryProcessingPool, Iterable)
where different kind of tasks are submitted to same processing pool.
Query execution task also includes a reference to QueryRunner so that any state required to decide the priority
of a unit can be carried forward with the corresponding QueryRunner.
| Modifier and Type | Method and Description |
|---|---|
<T,V> com.google.common.util.concurrent.ListenableFuture<T> |
submitRunnerTask(PrioritizedQueryRunnerCallable<T,V> task)
Submits the query execution unit task for asynchronous execution.
|
invokeAll, invokeAll, submit, submit, submitawaitTermination, invokeAny, invokeAny, isShutdown, isTerminated, shutdown, shutdownNow<T,V> com.google.common.util.concurrent.ListenableFuture<T> submitRunnerTask(PrioritizedQueryRunnerCallable<T,V> task)
T - - Task result typeV - - Query runner sequence typetask - - Task to be submitted.Copyright © 2011–2023 The Apache Software Foundation. All rights reserved.