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

Packages that use Cluster
Package
Description
org.apache.storm.scheduler
org.apache.storm.scheduler.blacklist
org.apache.storm.scheduler.blacklist.strategies
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 Cluster in org.apache.storm.scheduler

  Subclasses of Cluster in org.apache.storm.scheduler
  Modifier and Type
  Class
  Description
  `class`
  `SingleTopologyCluster`
  A Cluster that only allows modification to a single topology.
  Methods in org.apache.storm.scheduler with parameters of type Cluster
  Modifier and Type
  Method
  Description
  `static void`
  DefaultScheduler.`defaultSchedule(Topologies topologies, Cluster cluster)`
  `static Map<WorkerSlot,List<ExecutorDetails>>`
  EvenScheduler.`getAliveAssignedWorkerSlotExecutors(Cluster cluster, String topologyId)`
  `void`
  DefaultScheduler.`schedule(Topologies topologies, Cluster cluster)`
  `void`
  EvenScheduler.`schedule(Topologies topologies, Cluster cluster)`
  `void`
  IScheduler.`schedule(Topologies topologies, Cluster cluster)`
  Set assignments for the topologies which needs scheduling.
  `void`
  IsolationScheduler.`schedule(Topologies topologies, Cluster cluster)`
  `static void`
  EvenScheduler.`scheduleTopologiesEvenly(Topologies topologies, Cluster cluster)`
  `static Set<WorkerSlot>`
  DefaultScheduler.`slotsCanReassign(Cluster cluster, Set<WorkerSlot> slots)`
  `void`
  Cluster.`updateFrom(Cluster other)`
  Update the assignments and status from the other cluster.
  Constructors in org.apache.storm.scheduler with parameters of type Cluster
  Modifier
  Constructor
  Description
  ``
  `Cluster(Cluster src)`
  Copy constructor.
  ``
  `Cluster(Cluster src, Topologies topologies)`
  Testing Constructor that takes an existing cluster and replaces the topologies in it.
  ``
  `SingleTopologyCluster(Cluster other, String topologyId)`
  Create a new cluster that only allows modifications to a single topology.

- ## Uses of Cluster in org.apache.storm.scheduler.blacklist

  Methods in org.apache.storm.scheduler.blacklist with parameters of type Cluster
  Modifier and Type
  Method
  Description
  `void`
  BlacklistScheduler.`schedule(Topologies topologies, Cluster cluster)`

- ## Uses of Cluster in org.apache.storm.scheduler.blacklist.strategies

  Methods in org.apache.storm.scheduler.blacklist.strategies with parameters of type Cluster
  Modifier and Type
  Method
  Description
  `protected Map<String,Set<String>>`
  DefaultBlacklistStrategy.`createHostToSupervisorMap(List<String> blacklistedNodeIds, Cluster cluster)`
  `Set<String>`
  DefaultBlacklistStrategy.`getBlacklist(List<Map<String,Set<Integer>>> supervisorsWithFailures, List<Map<String,Integer>> sendAssignmentFailureCount, Cluster cluster, Topologies topologies)`
  `Set<String>`
  IBlacklistStrategy.`getBlacklist(List<Map<String,Set<Integer>>> badSupervisorsToleranceSlidingWindow, List<Map<String,Integer>> sendAssignmentFailureCount, Cluster cluster, Topologies topologies)`
  Get blacklist by blacklist strategy.
  `protected Set<String>`
  DefaultBlacklistStrategy.`releaseBlacklistWhenNeeded(Cluster cluster, List<String> blacklistedNodeIds)`
  Decide when/if to release blacklisted hosts.
  `protected Set<String>`
  RasBlacklistStrategy.`releaseBlacklistWhenNeeded(Cluster cluster, List<String> blacklistedNodeIds)`

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

  Fields in org.apache.storm.scheduler.multitenant declared as Cluster
  Modifier and Type
  Field
  Description
  `protected Cluster`
  NodePool.`cluster`
  Methods in org.apache.storm.scheduler.multitenant with parameters of type Cluster
  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.
  `void`
  Node.`free(WorkerSlot ws, Cluster cluster, boolean forceFree)`
  Frees a single slot in this node.
  `void`
  Node.`freeAllSlots(Cluster cluster)`
  Free all slots on this node.
  `void`
  Node.`freeTopology(String topId, Cluster cluster)`
  Frees all the slots for a topology.
  `static Map<String,Node>`
  Node.`getAllNodesFrom(Cluster cluster)`
  `void`
  FreePool.`init(Cluster cluster, Map<String,Node> nodeIdToNode)`
  `void`
  NodePool.`init(Cluster cluster, Map<String,Node> nodeIdToNode)`
  Initialize the pool.
  `void`
  MultitenantScheduler.`schedule(Topologies topologies, Cluster cluster)`
  Constructors in org.apache.storm.scheduler.multitenant with parameters of type Cluster
  Modifier
  Constructor
  Description
  ``
  `RoundRobinSlotScheduler(TopologyDetails td, int slotsToUse, Cluster cluster)`
  Create a new scheduler for a given topology.

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

  Methods in org.apache.storm.scheduler.resource with parameters of type Cluster
  Modifier and Type
  Method
  Description
  `static Map<String,RasNode>`
  RasNodes.`getAllNodesFrom(Cluster cluster)`
  `void`
  User.`markTopoUnsuccess(TopologyDetails topo, Cluster cluster, String msg)`
  `void`
  ResourceAwareScheduler.`schedule(Topologies topologies, Cluster cluster)`
  Constructors in org.apache.storm.scheduler.resource with parameters of type Cluster
  Modifier
  Constructor
  Description
  ``
  `RasNode(String nodeId, SupervisorDetails sup, Cluster cluster, Map<String,WorkerSlot> workerIdToWorker, Map<String,Map<String,Collection<ExecutorDetails>>> assignmentMap)`
  Create a new node.
  ``
  `RasNodes(Cluster cluster)`

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

  Fields in org.apache.storm.scheduler.resource.strategies.scheduling declared as Cluster
  Modifier and Type
  Field
  Description
  `protected Cluster`
  BaseResourceAwareStrategy.`cluster`
  Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type Cluster
  Modifier and Type
  Method
  Description
  `protected void`
  BaseResourceAwareStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)`
  Initialize instance variables as the first step in `BaseResourceAwareStrategy.schedule(Cluster, TopologyDetails)`.
  `protected void`
  ConstraintSolverStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)`
  `SchedulingResult`
  BaseResourceAwareStrategy.`schedule(Cluster cluster, TopologyDetails td)`
  Note that this method is not thread-safe.
  `SchedulingResult`
  IStrategy.`schedule(Cluster schedulingState, TopologyDetails td)`
  This method is invoked to calculate a scheduling for topology td.
  `static boolean`
  ConstraintSolverStrategy.`validateSolution(Cluster cluster, TopologyDetails topo)`
  Determines if a scheduling is valid and all constraints are satisfied (for use in testing).

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

  Fields in org.apache.storm.scheduler.resource.strategies.scheduling.sorter declared as Cluster
  Modifier and Type
  Field
  Description
  `protected Cluster`
  NodeSorter.`cluster`
  `protected Cluster`
  NodeSorterHostProximity.`cluster`
  Constructors in org.apache.storm.scheduler.resource.strategies.scheduling.sorter with parameters of type Cluster
  Modifier
  Constructor
  Description
  ``
  `ExecSorterByConstraintSeverity(Cluster cluster, TopologyDetails topologyDetails)`
  ``
  `NodeSorter(Cluster cluster, TopologyDetails topologyDetails, BaseResourceAwareStrategy.NodeSortType nodeSortType)`
  Initialize for the default implementation node sorting.
  ``
  `NodeSorterHostProximity(Cluster cluster, TopologyDetails topologyDetails)`
  ``
  `NodeSorterHostProximity(Cluster cluster, TopologyDetails topologyDetails, BaseResourceAwareStrategy.NodeSortType nodeSortType)`
  Initialize for the default implementation node sorting.