Package io.prestosql.execution.scheduler
Class SourcePartitionedScheduler
- java.lang.Object
-
- io.prestosql.execution.scheduler.SourcePartitionedScheduler
-
- All Implemented Interfaces:
SourceScheduler
public class SourcePartitionedScheduler extends Object implements SourceScheduler
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
List<Lifespan>
drainCompletedLifespans()
PlanNodeId
getPlanNodeId()
static SourceScheduler
newSourcePartitionedSchedulerAsSourceScheduler(SqlStageExecution stage, PlanNodeId partitionedNode, SplitSource splitSource, SplitPlacementPolicy splitPlacementPolicy, int splitBatchSize, boolean groupedExecution, DynamicFilterService dynamicFilterService, BooleanSupplier anySourceTaskBlocked)
Obtains aSourceScheduler
suitable for use in FixedSourcePartitionedScheduler.static StageScheduler
newSourcePartitionedSchedulerAsStageScheduler(SqlStageExecution stage, PlanNodeId partitionedNode, SplitSource splitSource, SplitPlacementPolicy splitPlacementPolicy, int splitBatchSize, DynamicFilterService dynamicFilterService, BooleanSupplier anySourceTaskBlocked)
Obtains an instance ofSourcePartitionedScheduler
suitable for use as a stage scheduler.void
noMoreLifespans()
ScheduleResult
schedule()
void
startLifespan(Lifespan lifespan, ConnectorPartitionHandle partitionHandle)
-
-
-
Method Detail
-
getPlanNodeId
public PlanNodeId getPlanNodeId()
- Specified by:
getPlanNodeId
in interfaceSourceScheduler
-
newSourcePartitionedSchedulerAsStageScheduler
public static StageScheduler newSourcePartitionedSchedulerAsStageScheduler(SqlStageExecution stage, PlanNodeId partitionedNode, SplitSource splitSource, SplitPlacementPolicy splitPlacementPolicy, int splitBatchSize, DynamicFilterService dynamicFilterService, BooleanSupplier anySourceTaskBlocked)
Obtains an instance ofSourcePartitionedScheduler
suitable for use as a stage scheduler.This returns an ungrouped
SourcePartitionedScheduler
that requires minimal management from the caller, which is ideal for use as a stage scheduler.
-
newSourcePartitionedSchedulerAsSourceScheduler
public static SourceScheduler newSourcePartitionedSchedulerAsSourceScheduler(SqlStageExecution stage, PlanNodeId partitionedNode, SplitSource splitSource, SplitPlacementPolicy splitPlacementPolicy, int splitBatchSize, boolean groupedExecution, DynamicFilterService dynamicFilterService, BooleanSupplier anySourceTaskBlocked)
Obtains aSourceScheduler
suitable for use in FixedSourcePartitionedScheduler.This returns a
SourceScheduler
that can be used for a pipeline that is either ungrouped or grouped. However, the caller is responsible initializing the driver groups in this scheduler accordingly.Besides, the caller is required to poll
drainCompletedLifespans()
in addition toschedule()
on the returned object. Otherwise, lifecycle transitioning of the object will not work properly.
-
startLifespan
public void startLifespan(Lifespan lifespan, ConnectorPartitionHandle partitionHandle)
- Specified by:
startLifespan
in interfaceSourceScheduler
-
noMoreLifespans
public void noMoreLifespans()
- Specified by:
noMoreLifespans
in interfaceSourceScheduler
-
schedule
public ScheduleResult schedule()
- Specified by:
schedule
in interfaceSourceScheduler
-
close
public void close()
- Specified by:
close
in interfaceSourceScheduler
-
drainCompletedLifespans
public List<Lifespan> drainCompletedLifespans()
- Specified by:
drainCompletedLifespans
in interfaceSourceScheduler
-
-