Package io.prestosql.execution
Class SqlStageExecution
- java.lang.Object
-
- io.prestosql.execution.SqlStageExecution
-
@ThreadSafe public final class SqlStageExecution extends Object
-
-
Method Summary
-
-
-
Method Detail
-
createSqlStageExecution
public static SqlStageExecution createSqlStageExecution(StageId stageId, PlanFragment fragment, Map<PlanNodeId,TableInfo> tables, RemoteTaskFactory remoteTaskFactory, Session session, boolean summarizeTaskInfo, NodeTaskMap nodeTaskMap, ExecutorService executor, FailureDetector failureDetector, DynamicFilterService dynamicFilterService, SplitSchedulerStats schedulerStats)
-
getStageId
public StageId getStageId()
-
getState
public StageState getState()
-
addStateChangeListener
public void addStateChangeListener(StateMachine.StateChangeListener<StageState> 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.
-
addFinalStageInfoListener
public void addFinalStageInfoListener(StateMachine.StateChangeListener<StageInfo> stateChangeListener)
Add a listener for the final stage info. This notification is guaranteed to be fired only once. 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.
-
addCompletedDriverGroupsChangedListener
public void addCompletedDriverGroupsChangedListener(Consumer<Set<Lifespan>> newlyCompletedDriverGroupConsumer)
-
getFragment
public PlanFragment getFragment()
-
getOutputBuffers
public OutputBuffers getOutputBuffers()
-
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()
-
getUserMemoryReservation
public long getUserMemoryReservation()
-
getTotalMemoryReservation
public long getTotalMemoryReservation()
-
getTotalCpuTime
public io.airlift.units.Duration getTotalCpuTime()
-
getBasicStageStats
public BasicStageStats getBasicStageStats()
-
getStageInfo
public StageInfo getStageInfo()
-
addExchangeLocations
public void addExchangeLocations(PlanFragmentId fragmentId, Set<RemoteTask> sourceTasks, boolean noMoreExchangeLocations)
-
setOutputBuffers
public void setOutputBuffers(OutputBuffers outputBuffers)
-
hasTasks
public boolean hasTasks()
-
getAllTasks
public List<RemoteTask> getAllTasks()
-
scheduleTask
public Optional<RemoteTask> scheduleTask(InternalNode node, int partition, OptionalInt totalPartitions)
-
scheduleSplits
public Set<RemoteTask> scheduleSplits(InternalNode node, com.google.common.collect.Multimap<PlanNodeId,Split> splits, com.google.common.collect.Multimap<PlanNodeId,Lifespan> noMoreSplitsNotification)
-
getScheduledNodes
public Set<InternalNode> getScheduledNodes()
-
recordGetSplitTime
public void recordGetSplitTime(long start)
-
getTaskStatuses
public List<TaskStatus> getTaskStatuses()
-
isAnyTaskBlocked
public boolean isAnyTaskBlocked()
-
-