## 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 |

- - ### 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)`
    `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.
    `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.
    `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)` 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` | RAS_Node.`assignSingleExecutor(WorkerSlot ws, ExecutorDetails exec, TopologyDetails td)` Assign a single executor to a slot, even if other things are in the slot.
    `boolean` | RAS_Node.`couldEverFit(ExecutorDetails exec, TopologyDetails td)` Is there any possibility that exec could ever fit on this node.
    `void` | RAS_Node.`freeSingleExecutor(ExecutorDetails exec, TopologyDetails topo)` frees a single executor.
    `boolean` | RAS_Node.`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` | RAS_Node.`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
    `RAS_Node(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

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling that return ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `ExecutorDetails` | ConstraintSolverStrategy.SearcherState.`currentExec()`

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling that return types with arguments of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `protected List<ExecutorDetails>` | BaseResourceAwareStrategy.`orderExecutors(TopologyDetails td, Collection<ExecutorDetails> unassignedExecutors)` Order executors based on how many in and out connections it will potentially need to make, in descending order.

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `protected WorkerSlot` | BaseResourceAwareStrategy.`findWorkerForExec(ExecutorDetails exec, TopologyDetails td, Iterable<String> sortedNodes)` Find a worker to schedule executor exec on.
    `protected boolean` | BaseResourceAwareStrategy.`scheduleExecutor(ExecutorDetails exec, TopologyDetails td, Collection<ExecutorDetails> scheduledTasks, Iterable<String> sortedNodes)` Schedule executor exec from topology td.
    `protected Iterable<String>` | BaseResourceAwareStrategy.`sortAllNodes(TopologyDetails td, ExecutorDetails exec, List<String> favoredNodeIds, List<String> unFavoredNodeIds)`
    `protected TreeSet<BaseResourceAwareStrategy.ObjectResources>` | BaseResourceAwareStrategy.`sortNodes(List<RAS_Node> availNodes, ExecutorDetails exec, TopologyDetails topologyDetails, String rackId, Map<String,AtomicInteger> scheduledCount)` Nodes are sorted by two criteria.
    `protected TreeSet<BaseResourceAwareStrategy.ObjectResources>` | DefaultResourceAwareStrategy.`sortObjectResources(BaseResourceAwareStrategy.AllResources allResources, ExecutorDetails exec, TopologyDetails topologyDetails, BaseResourceAwareStrategy.ExistingScheduleFunc existingScheduleFunc)` Sort objects by the following two criteria.
    `protected TreeSet<BaseResourceAwareStrategy.ObjectResources>` | ConstraintSolverStrategy.`sortObjectResources(BaseResourceAwareStrategy.AllResources allResources, ExecutorDetails exec, TopologyDetails topologyDetails, BaseResourceAwareStrategy.ExistingScheduleFunc existingScheduleFunc)`
    `protected TreeSet<BaseResourceAwareStrategy.ObjectResources>` | GenericResourceAwareStrategy.`sortObjectResources(BaseResourceAwareStrategy.AllResources allResources, ExecutorDetails exec, TopologyDetails topologyDetails, BaseResourceAwareStrategy.ExistingScheduleFunc existingScheduleFunc)` Sort objects by the following two criteria.
    `protected abstract TreeSet<BaseResourceAwareStrategy.ObjectResources>` | BaseResourceAwareStrategy.`sortObjectResources(BaseResourceAwareStrategy.AllResources allResources, ExecutorDetails exec, TopologyDetails topologyDetails, BaseResourceAwareStrategy.ExistingScheduleFunc existingScheduleFunc)`
    `static TreeSet<BaseResourceAwareStrategy.ObjectResources>` | GenericResourceAwareStrategy.`sortObjectResourcesImpl(BaseResourceAwareStrategy.AllResources allResources, ExecutorDetails exec, TopologyDetails topologyDetails, BaseResourceAwareStrategy.ExistingScheduleFunc existingScheduleFunc)` Implementation of the sortObjectResources method so other strategies can reuse it.

    Method parameters in org.apache.storm.scheduler.resource.strategies.scheduling with type arguments of type ExecutorDetails
    Modifier and Type | Method and Description
    --- | ---
    `void` | ConstraintSolverStrategy.SearcherState.`backtrack(Map<ExecutorDetails,String> execToComp, RAS_Node node, WorkerSlot workerSlot)`
    `protected List<ExecutorDetails>` | BaseResourceAwareStrategy.`orderExecutors(TopologyDetails td, Collection<ExecutorDetails> unassignedExecutors)` Order executors based on how many in and out connections it will potentially need to make, in descending order.
    `protected boolean` | BaseResourceAwareStrategy.`scheduleExecutor(ExecutorDetails exec, TopologyDetails td, Collection<ExecutorDetails> scheduledTasks, Iterable<String> sortedNodes)` Schedule executor exec from topology td.
    `void` | ConstraintSolverStrategy.SearcherState.`tryToSchedule(Map<ExecutorDetails,String> execToComp, RAS_Node node, WorkerSlot workerSlot)`

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