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 maxPendingSplitsWeightPerTask) static booleancanAssignSplitBasedOnWeight(long currentWeight, long weightLimit, SplitWeight splitWeight) createNodeSelector(Session session, Optional<CatalogName> catalogName) 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 maxPendingSplitsWeightPerTask, 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) -
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 maxPendingSplitsWeightPerTask, 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 maxPendingSplitsWeightPerTask) -
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)
-