Package io.prestosql.execution
Class SqlTask
- java.lang.Object
-
- io.prestosql.execution.SqlTask
-
public class SqlTask extends Object
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TaskInfo
abort()
TaskInfo
abortTaskResults(OutputBuffers.OutputBufferId bufferId)
DynamicFiltersCollector.VersionedDynamicFilterDomains
acknowledgeAndGetNewDynamicFilterDomains(long callersDynamicFiltersVersion)
void
acknowledgeTaskResults(OutputBuffers.OutputBufferId bufferId, long sequenceId)
void
addStateChangeListener(StateMachine.StateChangeListener<TaskState> stateChangeListener)
Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthis
when adding a listener in a constructor.TaskInfo
cancel()
static SqlTask
createSqlTask(TaskId taskId, URI location, String nodeId, QueryContext queryContext, SqlTaskExecutionFactory sqlTaskExecutionFactory, ExecutorService taskNotificationExecutor, Function<SqlTask,?> onDone, io.airlift.units.DataSize maxBufferSize, io.airlift.units.DataSize maxBroadcastBufferSize, io.airlift.stats.CounterStat failedTasks)
void
failed(Throwable cause)
SqlTaskIoStats
getIoStats()
QueryContext
getQueryContext()
TaskId
getTaskId()
TaskInfo
getTaskInfo()
com.google.common.util.concurrent.ListenableFuture<TaskInfo>
getTaskInfo(long callersCurrentVersion)
String
getTaskInstanceId()
com.google.common.util.concurrent.ListenableFuture<BufferResult>
getTaskResults(OutputBuffers.OutputBufferId bufferId, long startingSequenceId, io.airlift.units.DataSize maxSize)
TaskStatus
getTaskStatus()
com.google.common.util.concurrent.ListenableFuture<TaskStatus>
getTaskStatus(long callersCurrentVersion)
boolean
isOutputBufferOverutilized()
void
recordHeartbeat()
String
toString()
TaskInfo
updateTask(Session session, Optional<PlanFragment> fragment, List<TaskSource> sources, OutputBuffers outputBuffers, OptionalInt totalPartitions)
-
-
-
Method Detail
-
createSqlTask
public static SqlTask createSqlTask(TaskId taskId, URI location, String nodeId, QueryContext queryContext, SqlTaskExecutionFactory sqlTaskExecutionFactory, ExecutorService taskNotificationExecutor, Function<SqlTask,?> onDone, io.airlift.units.DataSize maxBufferSize, io.airlift.units.DataSize maxBroadcastBufferSize, io.airlift.stats.CounterStat failedTasks)
-
isOutputBufferOverutilized
public boolean isOutputBufferOverutilized()
-
getIoStats
public SqlTaskIoStats getIoStats()
-
getTaskId
public TaskId getTaskId()
-
getTaskInstanceId
public String getTaskInstanceId()
-
recordHeartbeat
public void recordHeartbeat()
-
getTaskInfo
public TaskInfo getTaskInfo()
-
getTaskStatus
public TaskStatus getTaskStatus()
-
acknowledgeAndGetNewDynamicFilterDomains
public DynamicFiltersCollector.VersionedDynamicFilterDomains acknowledgeAndGetNewDynamicFilterDomains(long callersDynamicFiltersVersion)
-
getTaskStatus
public com.google.common.util.concurrent.ListenableFuture<TaskStatus> getTaskStatus(long callersCurrentVersion)
-
getTaskInfo
public com.google.common.util.concurrent.ListenableFuture<TaskInfo> getTaskInfo(long callersCurrentVersion)
-
updateTask
public TaskInfo updateTask(Session session, Optional<PlanFragment> fragment, List<TaskSource> sources, OutputBuffers outputBuffers, OptionalInt totalPartitions)
-
getTaskResults
public com.google.common.util.concurrent.ListenableFuture<BufferResult> getTaskResults(OutputBuffers.OutputBufferId bufferId, long startingSequenceId, io.airlift.units.DataSize maxSize)
-
acknowledgeTaskResults
public void acknowledgeTaskResults(OutputBuffers.OutputBufferId bufferId, long sequenceId)
-
abortTaskResults
public TaskInfo abortTaskResults(OutputBuffers.OutputBufferId bufferId)
-
failed
public void failed(Throwable cause)
-
cancel
public TaskInfo cancel()
-
abort
public TaskInfo abort()
-
addStateChangeListener
public void addStateChangeListener(StateMachine.StateChangeListener<TaskState> stateChangeListener)
Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthis
when adding a listener in a constructor. Additionally, it is possible notifications are observed out of order due to the asynchronous execution.
-
getQueryContext
public QueryContext getQueryContext()
-
-