Class EventDrivenFaultTolerantQueryScheduler.StageExecution

java.lang.Object
io.trino.execution.scheduler.faulttolerant.EventDrivenFaultTolerantQueryScheduler.StageExecution
Enclosing class:
EventDrivenFaultTolerantQueryScheduler

public static class EventDrivenFaultTolerantQueryScheduler.StageExecution extends Object
  • Method Details

    • getStageId

      public StageId getStageId()
    • getStageFragmentId

      public PlanFragmentId getStageFragmentId()
    • getStageFragment

      public PlanFragment getStageFragment()
    • getState

      public StageState getState()
    • getStageInfo

      public StageInfo getStageInfo()
    • getExchange

      public Exchange getExchange()
    • isExchangeClosed

      public boolean isExchangeClosed()
    • setSpeculative

      public void setSpeculative(boolean speculative)
    • addPartition

      public void addPartition(int partitionId, NodeRequirements nodeRequirements)
    • 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

      public PartitionMemoryEstimator.MemoryRequirements getMemoryRequirements(int partitionId)
    • getNodeRequirements

      public Optional<NodeRequirements> getNodeRequirements(int partitionId)
    • getOutputStats

    • isSomeProgressMade

      public boolean isSomeProgressMade()
    • getOutputRowCount

      public long getOutputRowCount()
    • getSinkOutputSelector

      public ExchangeSourceOutputSelector getSinkOutputSelector()
    • setSourceOutputSelector

      public void setSourceOutputSelector(PlanFragmentId sourceFragmentId, ExchangeSourceOutputSelector selector)
    • abort

      public void abort()
    • fail

      public void fail(Throwable t)
    • 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

      public FaultTolerantPartitioningScheme getSinkPartitioningScheme()
    • logDebugInfo

      public void logDebugInfo()