Package io.trino.execution.scheduler
Class PipelinedStageExecution
- java.lang.Object
-
- io.trino.execution.scheduler.PipelinedStageExecution
-
public class PipelinedStageExecution extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPipelinedStageExecution.State
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort()voidaddCompletedDriverGroupsChangedListener(Consumer<Set<Lifespan>> newlyCompletedDriverGroupConsumer)voidaddStateChangeListener(StateMachine.StateChangeListener<PipelinedStageExecution.State> 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.voidbeginScheduling()voidcancel()static PipelinedStageExecutioncreatePipelinedStageExecution(SqlStage stage, Map<PlanFragmentId,io.trino.execution.scheduler.OutputBufferManager> outputBufferManagers, TaskLifecycleListener taskLifecycleListener, FailureDetector failureDetector, Executor executor, Optional<int[]> bucketToPartition, int attempt)voidfail(Throwable failureCause)voidfailTask(TaskId taskId, Throwable failureCause)List<RemoteTask>getAllTasks()Optional<ExecutionFailureInfo>getFailureCause()PlanFragmentgetFragment()StageIdgetStageId()PipelinedStageExecution.StategetState()TaskLifecycleListenergetTaskLifecycleListener()List<TaskStatus>getTaskStatuses()booleanisAnyTaskBlocked()voidrecordGetSplitTime(long start)Optional<RemoteTask>scheduleTask(InternalNode node, int partition, com.google.common.collect.Multimap<PlanNodeId,Split> initialSplits, com.google.common.collect.Multimap<PlanNodeId,Lifespan> noMoreSplitsForLifespan)voidschedulingComplete()voidschedulingComplete(PlanNodeId partitionedSource)voidtransitionToSchedulingSplits()
-
-
-
Method Detail
-
createPipelinedStageExecution
public static PipelinedStageExecution createPipelinedStageExecution(SqlStage stage, Map<PlanFragmentId,io.trino.execution.scheduler.OutputBufferManager> outputBufferManagers, TaskLifecycleListener taskLifecycleListener, FailureDetector failureDetector, Executor executor, Optional<int[]> bucketToPartition, int attempt)
-
getState
public PipelinedStageExecution.State getState()
-
addStateChangeListener
public void addStateChangeListener(StateMachine.StateChangeListener<PipelinedStageExecution.State> 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.
-
addCompletedDriverGroupsChangedListener
public void addCompletedDriverGroupsChangedListener(Consumer<Set<Lifespan>> newlyCompletedDriverGroupConsumer)
-
beginScheduling
public void beginScheduling()
-
transitionToSchedulingSplits
public void transitionToSchedulingSplits()
-
schedulingComplete
public void schedulingComplete()
-
schedulingComplete
public void schedulingComplete(PlanNodeId partitionedSource)
-
cancel
public void cancel()
-
abort
public void abort()
-
fail
public void fail(Throwable failureCause)
-
scheduleTask
public Optional<RemoteTask> scheduleTask(InternalNode node, int partition, com.google.common.collect.Multimap<PlanNodeId,Split> initialSplits, com.google.common.collect.Multimap<PlanNodeId,Lifespan> noMoreSplitsForLifespan)
-
getTaskLifecycleListener
public TaskLifecycleListener getTaskLifecycleListener()
-
getAllTasks
public List<RemoteTask> getAllTasks()
-
getTaskStatuses
public List<TaskStatus> getTaskStatuses()
-
isAnyTaskBlocked
public boolean isAnyTaskBlocked()
-
recordGetSplitTime
public void recordGetSplitTime(long start)
-
getStageId
public StageId getStageId()
-
getFragment
public PlanFragment getFragment()
-
getFailureCause
public Optional<ExecutionFailureInfo> getFailureCause()
-
-