Package io.trino.execution.scheduler
Class NodeScheduler
- java.lang.Object
-
- io.trino.execution.scheduler.NodeScheduler
-
public class NodeScheduler extends Object
-
-
Constructor Summary
Constructors Constructor Description NodeScheduler(NodeSelectorFactory nodeSelectorFactory)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static intcalculateLowWatermark(int maxPendingSplitsPerTask)NodeSelectorcreateNodeSelector(Session session, Optional<CatalogName> catalogName)static List<InternalNode>getAllNodes(NodeMap nodeMap, boolean includeCoordinator)static ResettableRandomizedIterator<InternalNode>randomizedNodes(NodeMap nodeMap, boolean includeCoordinator, Set<InternalNode> excludedNodes)static SplitPlacementResultselectDistributionNodes(NodeMap nodeMap, NodeTaskMap nodeTaskMap, int maxSplitsPerNode, int maxPendingSplitsPerTask, int maxUnacknowledgedSplitsPerTask, Set<Split> splits, List<RemoteTask> existingTasks, BucketNodeMap bucketNodeMap)static List<InternalNode>selectExactNodes(NodeMap nodeMap, List<HostAddress> hosts, boolean includeCoordinator)static List<InternalNode>selectNodes(int limit, Iterator<InternalNode> candidates)static com.google.common.util.concurrent.ListenableFuture<?>toWhenHasSplitQueueSpaceFuture(List<RemoteTask> existingTasks, int spaceThreshold)static com.google.common.util.concurrent.ListenableFuture<?>toWhenHasSplitQueueSpaceFuture(Set<InternalNode> blockedNodes, List<RemoteTask> existingTasks, int spaceThreshold)
-
-
-
Constructor Detail
-
NodeScheduler
@Inject public NodeScheduler(NodeSelectorFactory nodeSelectorFactory)
-
-
Method Detail
-
createNodeSelector
public NodeSelector createNodeSelector(Session session, Optional<CatalogName> catalogName)
-
getAllNodes
public static List<InternalNode> getAllNodes(NodeMap nodeMap, boolean includeCoordinator)
-
selectNodes
public static List<InternalNode> selectNodes(int limit, Iterator<InternalNode> candidates)
-
randomizedNodes
public static ResettableRandomizedIterator<InternalNode> randomizedNodes(NodeMap nodeMap, boolean includeCoordinator, Set<InternalNode> excludedNodes)
-
selectExactNodes
public static List<InternalNode> selectExactNodes(NodeMap nodeMap, List<HostAddress> hosts, boolean includeCoordinator)
-
selectDistributionNodes
public static SplitPlacementResult selectDistributionNodes(NodeMap nodeMap, NodeTaskMap nodeTaskMap, int maxSplitsPerNode, int maxPendingSplitsPerTask, int maxUnacknowledgedSplitsPerTask, Set<Split> splits, List<RemoteTask> existingTasks, BucketNodeMap bucketNodeMap)
-
calculateLowWatermark
public static int calculateLowWatermark(int maxPendingSplitsPerTask)
-
toWhenHasSplitQueueSpaceFuture
public static com.google.common.util.concurrent.ListenableFuture<?> toWhenHasSplitQueueSpaceFuture(Set<InternalNode> blockedNodes, List<RemoteTask> existingTasks, int spaceThreshold)
-
toWhenHasSplitQueueSpaceFuture
public static com.google.common.util.concurrent.ListenableFuture<?> toWhenHasSplitQueueSpaceFuture(List<RemoteTask> existingTasks, int spaceThreshold)
-
-