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

- Packages that use ExecutorDetails
  Package | Description
  --- | ---
  org.apache.storm.scheduler |
  org.apache.storm.scheduler.multitenant |
  org.apache.storm.scheduler.resource |
  org.apache.storm.scheduler.resource.strategies.scheduling |
  org.apache.storm.scheduler.resource.strategies.scheduling.sorter |

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

    Methods in org.apache.storm.scheduler that return types with arguments of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `static Map<WorkerSlot,List<ExecutorDetails>>` | EvenScheduler.`getAliveAssignedWorkerSlotExecutors(Cluster cluster, String topologyId)`
    `Map<String,Set<ExecutorDetails>>` | TopologyDetails.`getComponentToExecutors()`
    `List<ExecutorDetails>` | Component.`getExecs()`
    `Set<ExecutorDetails>` | SchedulerAssignment.`getExecutors()` Get the set of all executors.
    `Set<ExecutorDetails>` | SchedulerAssignmentImpl.`getExecutors()`
    `Set<ExecutorDetails>` | TopologyDetails.`getExecutors()`
    `Map<ExecutorDetails,String>` | TopologyDetails.`getExecutorToComponent()`
    `Map<ExecutorDetails,WorkerSlot>` | SchedulerAssignment.`getExecutorToSlot()` Get the map of executor to WorkerSlot.
    `Map<ExecutorDetails,WorkerSlot>` | SchedulerAssignmentImpl.`getExecutorToSlot()`
    `Map<String,List<ExecutorDetails>>` | Cluster.`getNeedsSchedulingComponentToExecutors(TopologyDetails topology)`
    `Map<String,List<ExecutorDetails>>` | ISchedulingState.`getNeedsSchedulingComponentToExecutors(TopologyDetails topology)` Get the component name to executor list for executors that need to be scheduled.
    `Map<ExecutorDetails,String>` | Cluster.`getNeedsSchedulingExecutorToComponents(TopologyDetails topology)`
    `Map<ExecutorDetails,String>` | ISchedulingState.`getNeedsSchedulingExecutorToComponents(TopologyDetails topology)` Get the executor to component name map for executors that need to be scheduled.
    `Map<WorkerSlot,Collection<ExecutorDetails>>` | SchedulerAssignment.`getSlotToExecutors()` Get the mapping of slot to executors on that slot.
    `Map<WorkerSlot,Collection<ExecutorDetails>>` | SchedulerAssignmentImpl.`getSlotToExecutors()`
    `Collection<ExecutorDetails>` | Cluster.`getUnassignedExecutors(TopologyDetails topology)`
    `Collection<ExecutorDetails>` | ISchedulingState.`getUnassignedExecutors(TopologyDetails topology)` get the unassigned executors of the topology.
    `Map<ExecutorDetails,String>` | TopologyDetails.`selectExecutorToComponent(Collection<ExecutorDetails> executors)`

    Methods in org.apache.storm.scheduler with parameters of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `void` | TopologyDetails.`addResourcesForExec(ExecutorDetails exec, NormalizedResourceRequest resourceList)` add resource requirements for a executor.
    `String` | TopologyDetails.`getComponentFromExecutor(ExecutorDetails exec)`
    `Double` | TopologyDetails.`getOffHeapMemoryRequirement(ExecutorDetails exec)` Gets the off heap memory requirement for a certain task within a topology.
    `Double` | TopologyDetails.`getOnHeapMemoryRequirement(ExecutorDetails exec)` Gets the on heap memory requirement for a certain task within a topology.
    `NormalizedResourceRequest` | TopologyDetails.`getTaskResourceReqList(ExecutorDetails exec)` get the resources requirements for a executor.
    `Double` | TopologyDetails.`getTotalCpuReqTask(ExecutorDetails exec)` Get the total CPU requirement for executor.
    `Double` | TopologyDetails.`getTotalMemReqTask(ExecutorDetails exec)` Gets the total memory requirement for a task.
    `NormalizedResourceRequest` | TopologyDetails.`getTotalResources(ExecutorDetails exec)` Get the total resource requirement for an executor.
    `boolean` | TopologyDetails.`hasExecInTopo(ExecutorDetails exec)` Checks if a executor is part of this topology.
    `boolean` | SchedulerAssignment.`isExecutorAssigned(ExecutorDetails executor)` Is the executor assigned or not.
    `boolean` | SchedulerAssignmentImpl.`isExecutorAssigned(ExecutorDetails executor)`
    `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 ExecutorDetails
    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.
    `NormalizedResourceRequest` | TopologyDetails.`getApproximateResources(Set<ExecutorDetails> execs)` Get approximate resources for given topology executors.
    `Set<SharedMemory>` | TopologyDetails.`getSharedMemoryRequests(Collection<ExecutorDetails> executors)` Gets the total memory resource list for a set of tasks that is part of a topology.
    `Map<ExecutorDetails,String>` | TopologyDetails.`selectExecutorToComponent(Collection<ExecutorDetails> executors)`

    Constructor parameters in org.apache.storm.scheduler with type arguments of type ExecutorDetails
    Constructor and Description
    `Component(ComponentType type, String compId, List<ExecutorDetails> execs, Map<GlobalStreamId,Grouping> inputs)` Create a new component.
    `SchedulerAssignmentImpl(String topologyId, Map<ExecutorDetails,WorkerSlot> executorToSlot, Map<WorkerSlot,WorkerResources> resources, Map<String,Double> nodeIdToTotalSharedOffHeap)` Create a new assignment.
    `TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, Map<ExecutorDetails,String> executorToComponents, int launchTime, String owner)`
    `TopologyDetails(String topologyId, Map<String,Object> topologyConf, StormTopology topology, int numWorkers, Map<ExecutorDetails,String> executorToComponents, String owner)`

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

    Method parameters in org.apache.storm.scheduler.multitenant with type arguments of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `void` | Node.`assign(String topId, Collection<ExecutorDetails> executors, Cluster cluster)` Assign a free slot on the node to the following topology and executors.

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

    Methods in org.apache.storm.scheduler.resource with parameters of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `void` | RasNode.`assignSingleExecutor(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td)` Assign a single executor to a slot, even if other things are in the slot.
    `boolean` | RasNode.`couldEverFit(ExecutorDetails exec, TopologyDetails td)` Is there any possibility that exec could ever fit on this node.
    `void` | RasNode.`freeSingleExecutor(ExecutorDetails exec, TopologyDetails topo)` frees a single executor.
    `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 ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `void` | RasNode.`assign(WorkerSlot target, TopologyDetails td, Collection<ExecutorDetails> executors)` Assigns a worker to a node.

    Constructor parameters in org.apache.storm.scheduler.resource with type arguments of type ExecutorDetails
    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 ExecutorDetails in org.apache.storm.scheduler.resource.strategies.scheduling

    Fields in org.apache.storm.scheduler.resource.strategies.scheduling with type parameters of type ExecutorDetails
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<String,Set<ExecutorDetails>>` | BaseResourceAwareStrategy.`compToExecs`
    `protected Map<ExecutorDetails,String>` | BaseResourceAwareStrategy.`execToComp`

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling that return ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `ExecutorDetails` | SchedulingSearcherState.`currentExec()` Get the current unassigned executor.
    `ExecutorDetails` | SchedulingSearcherState.`peekUnassignedAckers()`

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

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `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.

    Method parameters in org.apache.storm.scheduler.resource.strategies.scheduling with type arguments of type ExecutorDetails
    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.`backtrack(Map<ExecutorDetails,String> execToComp, RasNode node, WorkerSlot workerSlot)`
    `protected SchedulingResult` | BaseResourceAwareStrategy.`scheduleExecutorsOnNodes(List<ExecutorDetails> orderedExecutors, Iterable<String> sortedNodesIter)` Try to schedule till successful or till limits (backtrack count or time) have been exceeded.
    `void` | SchedulingSearcherState.`setSortedExecs(List<ExecutorDetails> sortedExecs)` Reassign the list of executors as long as it contains the same executors as before.

    Constructor parameters in org.apache.storm.scheduler.resource.strategies.scheduling with type arguments of type ExecutorDetails
    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)`
    `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)`
    `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 ExecutorDetails in org.apache.storm.scheduler.resource.strategies.scheduling.sorter

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling.sorter that return types with arguments of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `List<ExecutorDetails>` | ExecSorterByConstraintSeverity.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)`
    `List<ExecutorDetails>` | ExecSorterByConnectionCount.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)` Order executors based on how many in and out connections it will potentially need to make, in descending order.
    `List<ExecutorDetails>` | ExecSorterByProximity.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)` Order executors by network proximity needs.
    `List<ExecutorDetails>` | IExecSorter.`sortExecutors(Set<ExecutorDetails> execs)` Sort the supplied unique collection of ExecutorDetails in the order in which they should be scheduled.

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling.sorter with parameters of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `void` | INodeSorter.`prepare(ExecutorDetails exec)` Prepare for node sorting.
    `void` | NodeSorterHostProximity.`prepare(ExecutorDetails exec)`
    `void` | NodeSorter.`prepare(ExecutorDetails exec)`
    `protected List<ObjectResourcesItem>` | NodeSorter.`sortObjectResources(ObjectResourcesSummary resourcesSummary, ExecutorDetails exec, NodeSorter.ExistingScheduleFunc existingScheduleFunc)` Scheduling uses `NodeSorter.sortAllNodes()` which eventually calls this method whose behavior can be altered by setting `NodeSorter.nodeSortType`.
    `protected Iterable<ObjectResourcesItem>` | NodeSorterHostProximity.`sortObjectResources(ObjectResourcesSummary resourcesSummary, ExecutorDetails exec, NodeSorterHostProximity.ExistingScheduleFunc existingScheduleFunc)` Scheduling uses `NodeSorterHostProximity.sortAllNodes()` which eventually calls this method whose behavior can be altered by setting `NodeSorterHostProximity.nodeSortType`.

    Method parameters in org.apache.storm.scheduler.resource.strategies.scheduling.sorter with type arguments of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `List<ExecutorDetails>` | ExecSorterByConstraintSeverity.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)`
    `List<ExecutorDetails>` | ExecSorterByConnectionCount.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)` Order executors based on how many in and out connections it will potentially need to make, in descending order.
    `List<ExecutorDetails>` | ExecSorterByProximity.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)` Order executors by network proximity needs.
    `List<ExecutorDetails>` | IExecSorter.`sortExecutors(Set<ExecutorDetails> execs)` Sort the supplied unique collection of ExecutorDetails in the order in which they should be scheduled.

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