Package io.trino.execution.scheduler
Class NodeScheduler
java.lang.Object
io.trino.execution.scheduler.NodeScheduler
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic longcalculateLowWatermark(long minPendingSplitsWeightPerTask) static booleancanAssignSplitBasedOnWeight(long currentWeight, long weightLimit, SplitWeight splitWeight) createNodeSelector(Session session, Optional<CatalogHandle> catalogHandle) static List<InternalNode> filterNodes(NodeMap nodeMap, boolean includeCoordinator, Set<InternalNode> excludedNodes) static List<InternalNode> getAllNodes(NodeMap nodeMap, boolean includeCoordinator) randomizedNodes(NodeMap nodeMap, boolean includeCoordinator, Set<InternalNode> excludedNodes) static SplitPlacementResultselectDistributionNodes(NodeMap nodeMap, NodeTaskMap nodeTaskMap, long maxSplitsWeightPerNode, long minPendingSplitsWeightPerTask, 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<Void> toWhenHasSplitQueueSpaceFuture(List<RemoteTask> existingTasks, long weightSpaceThreshold) static com.google.common.util.concurrent.ListenableFuture<Void> toWhenHasSplitQueueSpaceFuture(Set<InternalNode> blockedNodes, List<RemoteTask> existingTasks, long weightSpaceThreshold)
-
Constructor Details
-
NodeScheduler
-
-
Method Details
-
createNodeSelector
-
getAllNodes
-
selectNodes
-
randomizedNodes
public static ResettableRandomizedIterator<InternalNode> randomizedNodes(NodeMap nodeMap, boolean includeCoordinator, Set<InternalNode> excludedNodes) -
filterNodes
public static List<InternalNode> filterNodes(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, long maxSplitsWeightPerNode, long minPendingSplitsWeightPerTask, int maxUnacknowledgedSplitsPerTask, Set<Split> splits, List<RemoteTask> existingTasks, BucketNodeMap bucketNodeMap) -
canAssignSplitBasedOnWeight
public static boolean canAssignSplitBasedOnWeight(long currentWeight, long weightLimit, SplitWeight splitWeight) -
calculateLowWatermark
public static long calculateLowWatermark(long minPendingSplitsWeightPerTask) -
toWhenHasSplitQueueSpaceFuture
public static com.google.common.util.concurrent.ListenableFuture<Void> toWhenHasSplitQueueSpaceFuture(Set<InternalNode> blockedNodes, List<RemoteTask> existingTasks, long weightSpaceThreshold) -
toWhenHasSplitQueueSpaceFuture
public static com.google.common.util.concurrent.ListenableFuture<Void> toWhenHasSplitQueueSpaceFuture(List<RemoteTask> existingTasks, long weightSpaceThreshold)
-