Class EventDrivenFaultTolerantQueryScheduler.StageExecution
java.lang.Object
io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.StageExecution
- Enclosing class:
EventDrivenFaultTolerantQueryScheduler
-
Method Summary
Modifier and TypeMethodDescriptionvoidabort()voidaddPartition(int partitionId, NodeRequirements nodeRequirements) voidlong[]This returns current output data size as captured on internal long[] field.voidvoidfinalizeUpdateOfExchangeSinkInstanceHandle(TaskId taskId, ExchangeSinkInstanceHandle updatedExchangeSinkInstanceHandle) Optional<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.GetExchangeSinkInstanceHandleResult> getExchangeSinkInstanceHandle(int partitionId) getMemoryRequirements(int partitionId) getNodeRequirements(int partitionId) longgetOutputStats(Function<StageId, EventDrivenFaultTolerantQueryScheduler.StageExecution> stageExecutionLookup, boolean parentEager) intintgetState()booleanvoidinitializeUpdateOfExchangeSinkInstanceHandle(TaskId taskId, BlockingQueue<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.Event> eventQueue) booleanisEager()booleanbooleanbooleanOptional<com.google.common.util.concurrent.ListenableFuture<io.trino.execution.scheduler.faulttolerant.SplitAssigner.AssignmentResult>> voidvoidschedule(int partitionId, ExchangeSinkInstanceHandle exchangeSinkInstanceHandle, int attempt, NodeAllocator.NodeLease nodeLease, boolean speculative) Optional<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask> sealPartition(int partitionId) voidsetSourceOutputSelector(PlanFragmentId sourceFragmentId, ExchangeSourceOutputSelector selector) voidsetSpeculative(boolean speculative) voidList<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask> taskFailed(TaskId taskId, ExecutionFailureInfo failureInfo, TaskStatus taskStatus) Optional<List<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask>> taskFinished(TaskId taskId, TaskStatus taskStatus) Marks task as finished.Optional<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask> updatePartition(int taskPartitionId, PlanNodeId planNodeId, boolean readyForScheduling, com.google.common.collect.ListMultimap<Integer, Split> splits, boolean noMoreSplits)
-
Method Details
-
getStageId
-
getStageFragmentId
-
getStageFragment
-
getState
-
getStageInfo
-
getExchange
-
isExchangeClosed
public boolean isExchangeClosed() -
setSpeculative
public void setSpeculative(boolean speculative) -
addPartition
-
updatePartition
public Optional<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask> updatePartition(int taskPartitionId, PlanNodeId planNodeId, boolean readyForScheduling, com.google.common.collect.ListMultimap<Integer, Split> splits, boolean noMoreSplits) -
sealPartition
public Optional<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask> sealPartition(int partitionId) -
noMorePartitions
public void noMorePartitions() -
isNoMorePartitions
public boolean isNoMorePartitions() -
getPartitionsCount
public int getPartitionsCount() -
getRemainingPartitionsCount
public int getRemainingPartitionsCount() -
closeExchange
public void closeExchange() -
getExchangeSinkInstanceHandle
public Optional<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.GetExchangeSinkInstanceHandleResult> getExchangeSinkInstanceHandle(int partitionId) -
schedule
public Optional<RemoteTask> schedule(int partitionId, ExchangeSinkInstanceHandle exchangeSinkInstanceHandle, int attempt, NodeAllocator.NodeLease nodeLease, boolean speculative) -
isEager
public boolean isEager() -
hasOpenTaskRunning
public boolean hasOpenTaskRunning() -
loadMoreTaskDescriptors
public Optional<com.google.common.util.concurrent.ListenableFuture<io.trino.execution.scheduler.faulttolerant.SplitAssigner.AssignmentResult>> loadMoreTaskDescriptors() -
taskDescriptorLoadingComplete
public void taskDescriptorLoadingComplete() -
initializeUpdateOfExchangeSinkInstanceHandle
public void initializeUpdateOfExchangeSinkInstanceHandle(TaskId taskId, BlockingQueue<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.Event> eventQueue) -
finalizeUpdateOfExchangeSinkInstanceHandle
public void finalizeUpdateOfExchangeSinkInstanceHandle(TaskId taskId, ExchangeSinkInstanceHandle updatedExchangeSinkInstanceHandle) -
taskFinished
public Optional<List<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask>> taskFinished(TaskId taskId, TaskStatus taskStatus) Marks task as finished. It can be that internal logic decides that we want to fail task instead. In such case the returned Optional will not be empty and will contain list of replacement tasks to be scheduled. -
taskFailed
public List<io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.PrioritizedScheduledTask> taskFailed(TaskId taskId, ExecutionFailureInfo failureInfo, TaskStatus taskStatus) -
getMemoryRequirements
-
getNodeRequirements
-
getOutputStats
public Optional<OutputStatsEstimator.OutputStatsEstimateResult> getOutputStats(Function<StageId, EventDrivenFaultTolerantQueryScheduler.StageExecution> stageExecutionLookup, boolean parentEager) -
isSomeProgressMade
public boolean isSomeProgressMade() -
getOutputRowCount
public long getOutputRowCount() -
getSinkOutputSelector
-
setSourceOutputSelector
public void setSourceOutputSelector(PlanFragmentId sourceFragmentId, ExchangeSourceOutputSelector selector) -
abort
public void abort() -
fail
-
currentOutputDataSize
public long[] currentOutputDataSize()This returns current output data size as captured on internal long[] field. Returning internal mutable field is done due to performance reasons. It is not allowed for the caller to mutate contents of returned array. -
getSinkPartitioningScheme
-
logDebugInfo
public void logDebugInfo()
-