## Uses of Class
org.apache.storm.scheduler.WorkerSlot

- Packages that use WorkerSlot
  Package | Description
  --- | ---
  org.apache.storm.daemon.nimbus |
  org.apache.storm.scheduler |
  org.apache.storm.scheduler.multitenant |
  org.apache.storm.scheduler.resource |
  org.apache.storm.scheduler.resource.strategies.scheduling |
  org.apache.storm.stats |

- - ### Uses of WorkerSlot in org.apache.storm.daemon.nimbus

    Methods in org.apache.storm.daemon.nimbus that return types with arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `Collection<WorkerSlot>` | Nimbus.StandaloneINimbus.`allSlotsAvailableForScheduling(Collection<SupervisorDetails> supervisors, Topologies topologies, Set<String> topologiesMissingAssignments)`

    Method parameters in org.apache.storm.daemon.nimbus with type arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `void` | Nimbus.StandaloneINimbus.`assignSlots(Topologies topologies, Map<String,Collection<WorkerSlot>> newSlotsByTopologyId)`

  - ### Uses of WorkerSlot in org.apache.storm.scheduler

    Methods in org.apache.storm.scheduler that return types with arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `Collection<WorkerSlot>` | INimbus.`allSlotsAvailableForScheduling(Collection<SupervisorDetails> existingSupervisors, Topologies topologies, Set<String> topologiesMissingAssignments)` Returns all slots that are available for the next round of scheduling.
    `static Map<WorkerSlot,List<ExecutorDetails>>` | EvenScheduler.`getAliveAssignedWorkerSlotExecutors(Cluster cluster, String topologyId)`
    `List<WorkerSlot>` | Cluster.`getAssignableSlots()`
    `List<WorkerSlot>` | ISchedulingState.`getAssignableSlots()` Get all non-blacklisted slots in the cluster.
    `List<WorkerSlot>` | Cluster.`getAssignableSlots(SupervisorDetails supervisor)`
    `List<WorkerSlot>` | ISchedulingState.`getAssignableSlots(SupervisorDetails supervisor)` Return all non-blacklisted slots on this supervisor.
    `List<WorkerSlot>` | Cluster.`getAvailableSlots()`
    `List<WorkerSlot>` | ISchedulingState.`getAvailableSlots()` Get all the available worker slots in the cluster.
    `List<WorkerSlot>` | Cluster.`getAvailableSlots(SupervisorDetails supervisor)`
    `List<WorkerSlot>` | ISchedulingState.`getAvailableSlots(SupervisorDetails supervisor)` Return all the available slots on this supervisor.
    `Map<ExecutorDetails,WorkerSlot>` | SchedulerAssignment.`getExecutorToSlot()` Get the map of executor to WorkerSlot.
    `Map<ExecutorDetails,WorkerSlot>` | SchedulerAssignmentImpl.`getExecutorToSlot()`
    `List<WorkerSlot>` | Cluster.`getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds)`
    `List<WorkerSlot>` | ISchedulingState.`getNonBlacklistedAvailableSlots(List<String> blacklistedSupervisorIds)` Get all the available worker slots in the cluster, that are not blacklisted.
    `Map<WorkerSlot,WorkerResources>` | SchedulerAssignment.`getScheduledResources()` Get the slot to resource mapping.
    `Map<WorkerSlot,WorkerResources>` | SchedulerAssignmentImpl.`getScheduledResources()`
    `Set<WorkerSlot>` | SchedulerAssignment.`getSlots()` Get the set of all slots that are a part of this.
    `Set<WorkerSlot>` | SchedulerAssignmentImpl.`getSlots()`
    `Map<WorkerSlot,Collection<ExecutorDetails>>` | SchedulerAssignment.`getSlotToExecutors()` Get the mapping of slot to executors on that slot.
    `Map<WorkerSlot,Collection<ExecutorDetails>>` | SchedulerAssignmentImpl.`getSlotToExecutors()`
    `Collection<WorkerSlot>` | Cluster.`getUsedSlots()`
    `Collection<WorkerSlot>` | ISchedulingState.`getUsedSlots()` Get all currently occupied slots.
    `Collection<WorkerSlot>` | Cluster.`getUsedSlotsByTopologyId(String topologyId)`
    `Collection<WorkerSlot>` | ISchedulingState.`getUsedSlotsByTopologyId(String topologyId)` get slots used by a topology.
    `Map<String,Map<WorkerSlot,WorkerResources>>` | Cluster.`getWorkerResourcesMap()`
    `Map<String,Map<WorkerSlot,WorkerResources>>` | ISchedulingState.`getWorkerResourcesMap()` Gets the reference to the full topology->worker resource map.
    `static Set<WorkerSlot>` | DefaultScheduler.`slotsCanReassign(Cluster cluster, Set<WorkerSlot> slots)`
    `static List<WorkerSlot>` | EvenScheduler.`sortSlots(List<WorkerSlot> availableSlots)`

    Methods in org.apache.storm.scheduler with parameters of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `void` | SchedulerAssignmentImpl.`assign(WorkerSlot slot, Collection<ExecutorDetails> executors)` Deprecated.
    `void` | SchedulerAssignmentImpl.`assign(WorkerSlot slot, Collection<ExecutorDetails> executors, WorkerResources slotResources)` Assign the slot to executors.
    `void` | Cluster.`assign(WorkerSlot slot, String topologyId, Collection<ExecutorDetails> executors)` Assign the slot to the executors for this topology.
    `void` | Cluster.`freeSlot(WorkerSlot slot)` Free the specified slot.
    `WorkerResources` | Cluster.`getWorkerResources(WorkerSlot ws)`
    `WorkerResources` | ISchedulingState.`getWorkerResources(WorkerSlot ws)` Get the resources for a given slot.
    `boolean` | SchedulerAssignment.`isSlotOccupied(WorkerSlot slot)` Is this slot part of this assignment or not.
    `boolean` | SchedulerAssignmentImpl.`isSlotOccupied(WorkerSlot slot)`
    `boolean` | Cluster.`isSlotOccupied(WorkerSlot slot)`
    `boolean` | ISchedulingState.`isSlotOccupied(WorkerSlot slot)` Check if a slot is occupied or not.
    `void` | SchedulerAssignmentImpl.`unassignBySlot(WorkerSlot slot)` Release the slot occupied by this assignment.
    `boolean` | Cluster.`wouldFit(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td, NormalizedResourceOffer resourcesAvailable, double maxHeap)`
    `boolean` | ISchedulingState.`wouldFit(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td, NormalizedResourceOffer resourcesAvailable, double maxHeap)` Would scheduling exec on ws fit? With a heap <= maxHeap total memory added <= memoryAvailable and cpu added <= cpuAvailable.

    Method parameters in org.apache.storm.scheduler with type arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `void` | INimbus.`assignSlots(Topologies topologies, Map<String,Collection<WorkerSlot>> newSlotsByTopologyId)` this is called after the assignment is changed in ZK.
    `void` | Cluster.`freeSlots(Collection<WorkerSlot> slots)` free the slots.
    `static Set<WorkerSlot>` | DefaultScheduler.`slotsCanReassign(Cluster cluster, Set<WorkerSlot> slots)`
    `static List<WorkerSlot>` | EvenScheduler.`sortSlots(List<WorkerSlot> availableSlots)`

    Constructor parameters in org.apache.storm.scheduler with type arguments of type WorkerSlot
    Constructor and Description
    `SchedulerAssignmentImpl(String topologyId, Map<ExecutorDetails,WorkerSlot> executorToSlot, Map<WorkerSlot,WorkerResources> resources, Map<String,Double> nodeIdToTotalSharedOffHeap)` Create a new assignment.
    `SchedulerAssignmentImpl(String topologyId, Map<ExecutorDetails,WorkerSlot> executorToSlot, Map<WorkerSlot,WorkerResources> resources, Map<String,Double> nodeIdToTotalSharedOffHeap)` Create a new assignment.

  - ### Uses of WorkerSlot in org.apache.storm.scheduler.multitenant

    Methods in org.apache.storm.scheduler.multitenant with parameters of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `void` | Node.`free(WorkerSlot ws, Cluster cluster, boolean forceFree)` Frees a single slot in this node.

  - ### Uses of WorkerSlot in org.apache.storm.scheduler.resource

    Methods in org.apache.storm.scheduler.resource that return types with arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `Collection<WorkerSlot>` | RasNode.`getFreeSlots()`
    `Collection<WorkerSlot>` | RasNode.`getSlotsAvailableToScheduleOn()`
    `Collection<WorkerSlot>` | RasNode.`getUsedSlots()`
    `Collection<WorkerSlot>` | RasNode.`getUsedSlots(String topId)` Get slots used by the given topology.

    Methods in org.apache.storm.scheduler.resource with parameters of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `void` | RasNode.`assign(WorkerSlot target, TopologyDetails td, Collection<ExecutorDetails> executors)` Assigns a worker to a node.
    `void` | RasNode.`assignSingleExecutor(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td)` Assign a single executor to a slot, even if other things are in the slot.
    `void` | RasNode.`free(WorkerSlot ws)` Frees a single slot in this node.
    `boolean` | RasNode.`wouldFit(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td)` Would scheduling exec in ws fit with the current resource constraints.

    Method parameters in org.apache.storm.scheduler.resource with type arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `void` | RasNodes.`freeSlots(Collection<WorkerSlot> workerSlots)` Free everything on the given slots.

    Constructor parameters in org.apache.storm.scheduler.resource with type arguments of type WorkerSlot
    Constructor and Description
    `RasNode(String nodeId, SupervisorDetails sup, Cluster cluster, Map<String,WorkerSlot> workerIdToWorker, Map<String,Map<String,Collection<ExecutorDetails>>> assignmentMap)` Create a new node.

  - ### Uses of WorkerSlot in org.apache.storm.scheduler.resource.strategies.scheduling

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling that return types with arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `Map<WorkerSlot,List<ExecutorDetails>>` | SchedulingSearcherState.`getWorkerSlotToBoundAckers()`

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `void` | SchedulingSearcherState.`assignCurrentExecutor(Map<ExecutorDetails,String> execToComp, RasNode node, WorkerSlot workerSlot)` Attempt to assign current executor (execIndex points to) to worker and node.
    `void` | SchedulingSearcherState.`assignSingleBoundAcker(RasNode node, WorkerSlot workerSlot)` Remove the head of unassigned ackers and attempt to assign it to a workerSlot as a bound acker.
    `void` | SchedulingSearcherState.`backtrack(Map<ExecutorDetails,String> execToComp, RasNode node, WorkerSlot workerSlot)`
    `void` | SchedulingSearcherState.`freeWorkerSlotWithBoundAckers(RasNode node, WorkerSlot workerSlot)` Free a given workerSlot and all the assigned bound ackers already there.
    `Map<String,Integer>` | SchedulingSearcherState.`getCompAssignmentCntMapForWorker(WorkerSlot workerSlot)` Get a map of component to count for the specified worker slot.
    `int` | SchedulingSearcherState.`getNumOfAckersToBind(ExecutorDetails exec, WorkerSlot workerSlot)` Determine how many bound ackers to put in before assigning the executor to current workerSlot.
    `protected boolean` | ConstraintSolverStrategy.`isExecAssignmentToWorkerValid(ExecutorDetails exec, WorkerSlot worker)` Check if any constraints are violated if exec is scheduled on worker.
    `protected boolean` | BaseResourceAwareStrategy.`isExecAssignmentToWorkerValid(ExecutorDetails exec, WorkerSlot worker)` Check if the assignment of the executor to the worker is valid.

    Constructor parameters in org.apache.storm.scheduler.resource.strategies.scheduling with type arguments of type WorkerSlot
    Constructor and Description
    `SchedulingSearcherState(Map<WorkerSlot,Map<String,Integer>> workerCompAssignmentCnts, Map<RasNode,Map<String,Integer>> nodeCompAssignmentCnts, int maxStatesSearched, long maxTimeMs, List<ExecutorDetails> execs, LinkedList<ExecutorDetails> unassignedAckers, TopologyDetails td, Map<ExecutorDetails,String> execToComp)`

  - ### Uses of WorkerSlot in org.apache.storm.stats

    Method parameters in org.apache.storm.stats with type arguments of type WorkerSlot
    Modifier and Type | Method and Description
    --- | ---
    `static List<WorkerSummary>` | StatsUtil.`aggWorkerStats(String stormId, String stormName, Map<Integer,String> task2Component, Map<List<Integer>,Map<String,Object>> beats, Map<List<Long>,List<Object>> exec2NodePort, Map<String,String> nodeHost, Map<WorkerSlot,WorkerResources> worker2Resources, boolean includeSys, boolean userAuthorized, String filterSupervisor, String owner)` aggregate statistics per worker for a topology.

Copyright © 2021 The Apache Software Foundation. All rights reserved.