Class ThreadPerDriverTaskExecutor
java.lang.Object
io.trino.execution.executor.dedicated.ThreadPerDriverTaskExecutor
- All Implemented Interfaces:
TaskExecutor
-
Constructor Summary
ConstructorsConstructorDescriptionThreadPerDriverTaskExecutor(io.opentelemetry.api.trace.Tracer tracer, VersionEmbedder versionEmbedder, FairScheduler scheduler) ThreadPerDriverTaskExecutor(TaskManagerConfig config, io.opentelemetry.api.trace.Tracer tracer, VersionEmbedder versionEmbedder) -
Method Summary
Modifier and TypeMethodDescriptionaddTask(TaskId taskId, DoubleSupplier utilizationSupplier, int initialSplitConcurrency, io.airlift.units.Duration splitConcurrencyAdjustFrequency, OptionalInt maxDriversPerTask) enqueueSplits(TaskHandle handle, boolean intermediate, List<? extends SplitRunner> splits) getStuckSplitTaskIds(io.airlift.units.Duration processingDurationThreshold, Predicate<RunningSplitInfo> filter) voidremoveTask(TaskHandle handle) voidstart()voidstop()
-
Constructor Details
-
ThreadPerDriverTaskExecutor
@Inject public ThreadPerDriverTaskExecutor(TaskManagerConfig config, io.opentelemetry.api.trace.Tracer tracer, VersionEmbedder versionEmbedder) -
ThreadPerDriverTaskExecutor
public ThreadPerDriverTaskExecutor(io.opentelemetry.api.trace.Tracer tracer, VersionEmbedder versionEmbedder, FairScheduler scheduler)
-
-
Method Details
-
start
@PostConstruct public void start()- Specified by:
startin interfaceTaskExecutor
-
stop
@PreDestroy public void stop()- Specified by:
stopin interfaceTaskExecutor
-
addTask
public TaskHandle addTask(TaskId taskId, DoubleSupplier utilizationSupplier, int initialSplitConcurrency, io.airlift.units.Duration splitConcurrencyAdjustFrequency, OptionalInt maxDriversPerTask) - Specified by:
addTaskin interfaceTaskExecutor
-
removeTask
- Specified by:
removeTaskin interfaceTaskExecutor
-
enqueueSplits
public List<com.google.common.util.concurrent.ListenableFuture<Void>> enqueueSplits(TaskHandle handle, boolean intermediate, List<? extends SplitRunner> splits) - Specified by:
enqueueSplitsin interfaceTaskExecutor
-
getStuckSplitTaskIds
public Set<TaskId> getStuckSplitTaskIds(io.airlift.units.Duration processingDurationThreshold, Predicate<RunningSplitInfo> filter) - Specified by:
getStuckSplitTaskIdsin interfaceTaskExecutor
-