Class PhasedExecutionSchedule
- java.lang.Object
-
- io.trino.execution.scheduler.policy.PhasedExecutionSchedule
-
- All Implemented Interfaces:
ExecutionSchedule
public class PhasedExecutionSchedule extends Object implements ExecutionSchedule
Schedules stages choosing to order to provide the best resource utilization. This means that stages which output won't be consumed (e.g. join probe side) will not be scheduled until dependent stages finish (e.g. join build source stages). Contrary toLegacyPhasedExecutionPolicy,PhasedExecutionSchedulewill schedule multiple source stages in order to fully utilize IO.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PhasedExecutionScheduleforStages(Collection<StageExecution> stages, DynamicFilterService dynamicFilterService)StagesScheduleResultgetStagesToSchedule()booleanisFinished()
-
-
-
Method Detail
-
forStages
public static PhasedExecutionSchedule forStages(Collection<StageExecution> stages, DynamicFilterService dynamicFilterService)
-
getStagesToSchedule
public StagesScheduleResult getStagesToSchedule()
- Specified by:
getStagesToSchedulein interfaceExecutionSchedule
-
isFinished
public boolean isFinished()
- Specified by:
isFinishedin interfaceExecutionSchedule
-
-