Package io.trino.execution
Class SqlTask
java.lang.Object
io.trino.execution.SqlTask
-
Method Summary
Modifier and TypeMethodDescriptionabort()acknowledgeAndGetNewDynamicFilterDomains(long callersDynamicFiltersVersion) voidacknowledgeTaskResults(PipelinedOutputBuffers.OutputBufferId bufferId, long sequenceId) voidvoidaddStateChangeListener(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.cancel()static SqlTaskcreateSqlTask(TaskId taskId, URI location, String nodeId, QueryContext queryContext, io.opentelemetry.api.trace.Tracer tracer, SqlTaskExecutionFactory sqlTaskExecutionFactory, ExecutorService taskNotificationExecutor, Consumer<SqlTask> onDone, io.airlift.units.DataSize maxBufferSize, io.airlift.units.DataSize maxBroadcastBufferSize, ExchangeManagerRegistry exchangeManagerRegistry, io.airlift.stats.CounterStat failedTasks) org.joda.time.DateTimecom.google.common.util.concurrent.ListenableFuture<TaskInfo> getTaskInfo(long callersCurrentVersion) com.google.common.util.concurrent.ListenableFuture<BufferResult> getTaskResults(PipelinedOutputBuffers.OutputBufferId bufferId, long startingSequenceId, io.airlift.units.DataSize maxSize) com.google.common.util.concurrent.ListenableFuture<TaskStatus> getTaskStatus(long callersCurrentVersion) voidbooleansetCatalogs(Set<CatalogHandle> catalogs) toString()updateTask(Session session, io.opentelemetry.api.trace.Span stageSpan, Optional<PlanFragment> fragment, List<SplitAssignment> splitAssignments, OutputBuffers outputBuffers, Map<DynamicFilterId, Domain> dynamicFilterDomains, boolean speculative)
-
Method Details
-
createSqlTask
public static SqlTask createSqlTask(TaskId taskId, URI location, String nodeId, QueryContext queryContext, io.opentelemetry.api.trace.Tracer tracer, SqlTaskExecutionFactory sqlTaskExecutionFactory, ExecutorService taskNotificationExecutor, Consumer<SqlTask> onDone, io.airlift.units.DataSize maxBufferSize, io.airlift.units.DataSize maxBroadcastBufferSize, ExchangeManagerRegistry exchangeManagerRegistry, io.airlift.stats.CounterStat failedTasks) -
getIoStats
-
getTaskState
-
getTaskCreatedTime
public org.joda.time.DateTime getTaskCreatedTime() -
getTaskId
-
getTaskInstanceId
-
recordHeartbeat
public void recordHeartbeat() -
getTaskInfo
-
getTaskStatus
-
getCatalogs
-
setCatalogs
-
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, io.opentelemetry.api.trace.Span stageSpan, Optional<PlanFragment> fragment, List<SplitAssignment> splitAssignments, OutputBuffers outputBuffers, Map<DynamicFilterId, Domain> dynamicFilterDomains, boolean speculative) -
getTaskResults
public com.google.common.util.concurrent.ListenableFuture<BufferResult> getTaskResults(PipelinedOutputBuffers.OutputBufferId bufferId, long startingSequenceId, io.airlift.units.DataSize maxSize) -
acknowledgeTaskResults
-
destroyTaskResults
-
failed
-
cancel
-
abort
-
toString
-
addStateChangeListener
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
-
getQueryContext
-
getTaskContext
-
getTraceToken
-