public class SqlTaskManager extends Object implements TaskManager, Closeable
| Constructor and Description |
|---|
SqlTaskManager(LocalExecutionPlanner planner,
LocationFactory locationFactory,
TaskExecutor taskExecutor,
SplitMonitor splitMonitor,
io.airlift.node.NodeInfo nodeInfo,
LocalMemoryManager localMemoryManager,
TaskManagementExecutor taskManagementExecutor,
TaskManagerConfig config,
NodeMemoryConfig nodeMemoryConfig,
LocalSpillManager localSpillManager,
NodeSpillConfig nodeSpillConfig,
io.airlift.stats.GcMonitor gcMonitor) |
| Modifier and Type | Method and Description |
|---|---|
TaskInfo |
abortTask(TaskId taskId)
Aborts a task.
|
TaskInfo |
abortTaskResults(TaskId taskId,
OutputBuffers.OutputBufferId bufferId)
Aborts a result buffer for a task.
|
void |
acknowledgeTaskResults(TaskId taskId,
OutputBuffers.OutputBufferId bufferId,
long sequenceId)
Acknowledges previously received results.
|
void |
addStateChangeListener(TaskId taskId,
StateMachine.StateChangeListener<TaskState> stateChangeListener)
Adds a state change listener to the specified task.
|
TaskInfo |
cancelTask(TaskId taskId)
Cancels a task.
|
void |
close() |
void |
failAbandonedTasks() |
List<TaskInfo> |
getAllTaskInfo()
Gets all of the currently tracked tasks.
|
List<SqlTask> |
getAllTasks() |
io.airlift.stats.CounterStat |
getFailedTasks() |
SqlTaskIoStats |
getIoStats() |
QueryContext |
getQueryContext(QueryId queryId) |
TaskInfo |
getTaskInfo(TaskId taskId)
Gets the info for the specified task.
|
com.google.common.util.concurrent.ListenableFuture<TaskInfo> |
getTaskInfo(TaskId taskId,
TaskState currentState)
Gets future info for the task after the state changes from
current state. |
String |
getTaskInstanceId(TaskId taskId)
Gets the unique instance id of a task.
|
io.airlift.concurrent.ThreadPoolExecutorMBean |
getTaskNotificationExecutor() |
com.google.common.util.concurrent.ListenableFuture<BufferResult> |
getTaskResults(TaskId taskId,
OutputBuffers.OutputBufferId bufferId,
long startingSequenceId,
io.airlift.units.DataSize maxSize)
Gets results from a task either immediately or in the future.
|
TaskStatus |
getTaskStatus(TaskId taskId)
Gets the status for the specified task.
|
com.google.common.util.concurrent.ListenableFuture<TaskStatus> |
getTaskStatus(TaskId taskId,
TaskState currentState)
Gets future status for the task after the state changes from
current state. |
void |
removeOldTasks() |
void |
start() |
void |
updateMemoryPoolAssignments(MemoryPoolAssignmentsRequest assignments) |
TaskInfo |
updateTask(Session session,
TaskId taskId,
Optional<PlanFragment> fragment,
List<TaskSource> sources,
OutputBuffers outputBuffers,
OptionalInt totalPartitions)
Updates the task plan, sources and output buffers.
|
@Inject public SqlTaskManager(LocalExecutionPlanner planner, LocationFactory locationFactory, TaskExecutor taskExecutor, SplitMonitor splitMonitor, io.airlift.node.NodeInfo nodeInfo, LocalMemoryManager localMemoryManager, TaskManagementExecutor taskManagementExecutor, TaskManagerConfig config, NodeMemoryConfig nodeMemoryConfig, LocalSpillManager localSpillManager, NodeSpillConfig nodeSpillConfig, io.airlift.stats.GcMonitor gcMonitor)
public void updateMemoryPoolAssignments(MemoryPoolAssignmentsRequest assignments)
updateMemoryPoolAssignments in interface TaskManager@PostConstruct public void start()
@PreDestroy public void close()
close in interface Closeableclose in interface AutoCloseablepublic SqlTaskIoStats getIoStats()
public io.airlift.concurrent.ThreadPoolExecutorMBean getTaskNotificationExecutor()
public io.airlift.stats.CounterStat getFailedTasks()
public List<TaskInfo> getAllTaskInfo()
TaskManagergetAllTaskInfo in interface TaskManagerpublic TaskInfo getTaskInfo(TaskId taskId)
TaskManagerNOTE: this design assumes that only tasks that will eventually exist are queried.
getTaskInfo in interface TaskManagerpublic TaskStatus getTaskStatus(TaskId taskId)
TaskManagergetTaskStatus in interface TaskManagerpublic com.google.common.util.concurrent.ListenableFuture<TaskInfo> getTaskInfo(TaskId taskId, TaskState currentState)
TaskManagercurrent state. If the task has not been created yet, an
uninitialized task is created and the future is returned. If the task
is already in a final state, the info is returned immediately.
NOTE: this design assumes that only tasks that will eventually exist are queried.
getTaskInfo in interface TaskManagerpublic String getTaskInstanceId(TaskId taskId)
TaskManagergetTaskInstanceId in interface TaskManagerpublic com.google.common.util.concurrent.ListenableFuture<TaskStatus> getTaskStatus(TaskId taskId, TaskState currentState)
TaskManagercurrent state. If the task has not been created yet, an
uninitialized task is created and the future is returned. If the task
is already in a final state, the status is returned immediately.
NOTE: this design assumes that only tasks that will eventually exist are queried.
getTaskStatus in interface TaskManagerpublic TaskInfo updateTask(Session session, TaskId taskId, Optional<PlanFragment> fragment, List<TaskSource> sources, OutputBuffers outputBuffers, OptionalInt totalPartitions)
TaskManagerupdateTask in interface TaskManagerpublic com.google.common.util.concurrent.ListenableFuture<BufferResult> getTaskResults(TaskId taskId, OutputBuffers.OutputBufferId bufferId, long startingSequenceId, io.airlift.units.DataSize maxSize)
TaskManagerNOTE: this design assumes that only tasks and buffers that will eventually exist are queried.
getTaskResults in interface TaskManagerpublic void acknowledgeTaskResults(TaskId taskId, OutputBuffers.OutputBufferId bufferId, long sequenceId)
TaskManageracknowledgeTaskResults in interface TaskManagerpublic TaskInfo abortTaskResults(TaskId taskId, OutputBuffers.OutputBufferId bufferId)
TaskManagerNOTE: this design assumes that only tasks and buffers that will eventually exist are queried.
abortTaskResults in interface TaskManagerpublic TaskInfo cancelTask(TaskId taskId)
TaskManagercancelTask in interface TaskManagerpublic TaskInfo abortTask(TaskId taskId)
TaskManagerabortTask in interface TaskManagerpublic void removeOldTasks()
public void failAbandonedTasks()
public void addStateChangeListener(TaskId taskId, StateMachine.StateChangeListener<TaskState> stateChangeListener)
TaskManagerthis when adding a listener in a constructor. Additionally, it is
possible notifications are observed out of order due to the asynchronous execution.addStateChangeListener in interface TaskManagerpublic QueryContext getQueryContext(QueryId queryId)
Copyright © 2012–2019. All rights reserved.