Package io.trino.execution
Class SqlTask
- java.lang.Object
-
- io.trino.execution.SqlTask
-
public class SqlTask extends Object
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TaskInfoabort()TaskInfoabortTaskResults(OutputBuffers.OutputBufferId bufferId)DynamicFiltersCollector.VersionedDynamicFilterDomainsacknowledgeAndGetNewDynamicFilterDomains(long callersDynamicFiltersVersion)voidacknowledgeTaskResults(OutputBuffers.OutputBufferId bufferId, long sequenceId)voidaddSourceTaskFailureListener(TaskFailureListener listener)voidaddStateChangeListener(StateMachine.StateChangeListener<TaskState> stateChangeListener)Listener is always notified asynchronously using a dedicated notification thread pool so, care should be taken to avoid leakingthiswhen adding a listener in a constructor.TaskInfocancel()static SqlTaskcreateSqlTask(TaskId taskId, URI location, String nodeId, QueryContext queryContext, SqlTaskExecutionFactory sqlTaskExecutionFactory, ExecutorService taskNotificationExecutor, Consumer<SqlTask> onDone, io.airlift.units.DataSize maxBufferSize, io.airlift.units.DataSize maxBroadcastBufferSize, io.airlift.stats.CounterStat failedTasks)TaskInfofailed(Throwable cause)SqlTaskIoStatsgetIoStats()QueryContextgetQueryContext()Optional<TaskContext>getTaskContext()org.joda.time.DateTimegetTaskCreatedTime()TaskIdgetTaskId()TaskInfogetTaskInfo()com.google.common.util.concurrent.ListenableFuture<TaskInfo>getTaskInfo(long callersCurrentVersion)StringgetTaskInstanceId()com.google.common.util.concurrent.ListenableFuture<BufferResult>getTaskResults(OutputBuffers.OutputBufferId bufferId, long startingSequenceId, io.airlift.units.DataSize maxSize)TaskStategetTaskState()TaskStatusgetTaskStatus()com.google.common.util.concurrent.ListenableFuture<TaskStatus>getTaskStatus(long callersCurrentVersion)Optional<String>getTraceToken()booleanisOutputBufferOverutilized()voidrecordHeartbeat()StringtoString()TaskInfoupdateTask(Session session, Optional<PlanFragment> fragment, List<TaskSource> sources, OutputBuffers outputBuffers, Map<DynamicFilterId,Domain> dynamicFilterDomains)
-
-
-
Method Detail
-
createSqlTask
public static SqlTask createSqlTask(TaskId taskId, URI location, String nodeId, QueryContext queryContext, SqlTaskExecutionFactory sqlTaskExecutionFactory, ExecutorService taskNotificationExecutor, Consumer<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()
-
getTaskState
public TaskState getTaskState()
-
getTaskCreatedTime
public org.joda.time.DateTime getTaskCreatedTime()
-
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, Map<DynamicFilterId,Domain> dynamicFilterDomains)
-
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)
-
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 leakingthiswhen adding a listener in a constructor. Additionally, it is possible notifications are observed out of order due to the asynchronous execution.
-
addSourceTaskFailureListener
public void addSourceTaskFailureListener(TaskFailureListener listener)
-
getQueryContext
public QueryContext getQueryContext()
-
getTaskContext
public Optional<TaskContext> getTaskContext()
-
-