# 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
  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
  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
  Description
  `void`
  Cluster.`assign(WorkerSlot slot, String topologyId, Collection<ExecutorDetails> executors)`
  Assign the slot to the executors for this topology.
  `void`
  SchedulerAssignmentImpl.`assign(WorkerSlot slot, Collection<ExecutorDetails> executors)`
  Deprecated.
  `void`
  SchedulerAssignmentImpl.`assign(WorkerSlot slot, Collection<ExecutorDetails> executors, WorkerResources slotResources)`
  Assign the slot to executors.
  `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
  Modifier
  Constructor
  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.

- ## 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
  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
  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
  Description
  `void`
  RasNode.`assign(WorkerSlot target, TopologyDetails td, Collection<ExecutorDetails> executors)`
  Assigns a worker to a 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
  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
  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
  Description
  `Set<ExecutorDetails>`
  SchedulingSearcherState.`getBoundAckers()`
  `Set<ExecutorDetails>`
  SchedulingSearcherState.`getExecsWithBoundAckers()`
  `LinkedList<ExecutorDetails>`
  SchedulingSearcherState.`getUnassignedAckers()`
  Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type ExecutorDetails
  Modifier and Type
  Method
  Description
  `protected int`
  BaseResourceAwareStrategy.`assignBoundAckersForNewWorkerSlot(ExecutorDetails exec, RasNode node, WorkerSlot workerSlot)`
  Determine how many bound ackers to put into the given workerSlot.
  `int`
  SchedulingSearcherState.`getNumOfAckersToBind(ExecutorDetails exec, WorkerSlot workerSlot)`
  Determine how many bound ackers to put in before assigning the executor to current workerSlot.
  `protected boolean`
  BaseResourceAwareStrategy.`isExecAssignmentToWorkerValid(ExecutorDetails exec, WorkerSlot worker)`
  Check if the assignment of the executor to the worker is valid.
  `protected boolean`
  ConstraintSolverStrategy.`isExecAssignmentToWorkerValid(ExecutorDetails exec, WorkerSlot worker)`
  Check if any constraints are violated if exec is scheduled on worker.
  Method parameters in org.apache.storm.scheduler.resource.strategies.scheduling with type arguments of type ExecutorDetails
  Modifier and Type
  Method
  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[] nodesForExec, WorkerSlot[] workerSlotForExec)`
  Backtrack to prior executor that was directly assigned.
  `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.
  `protected SchedulingResult`
  RoundRobinResourceAwareStrategy.`scheduleExecutorsOnNodes(List<ExecutorDetails> orderedExecutors, Iterable<String> sortedNodesIterable)`
  For each component try to schedule executors in sequence on the nodes.
  `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
  Modifier
  Constructor
  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)`

- ## 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
  Description
  `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>`
  ExecSorterByConstraintSeverity.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)`
  `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
  Description
  `void`
  INodeSorter.`prepare(ExecutorDetails exec)`
  Prepare for node sorting.
  `void`
  NodeSorter.`prepare(ExecutorDetails exec)`
  `void`
  NodeSorterHostProximity.`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
  Description
  `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>`
  ExecSorterByConstraintSeverity.`sortExecutors(Set<ExecutorDetails> unassignedExecutors)`
  `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.