## 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 and 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 and 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` | IScheduler.`schedule(Topologies topologies, Cluster cluster)` Set assignments for the topologies which needs scheduling.
    `void` | IsolationScheduler.`schedule(Topologies topologies, Cluster cluster)`
    `void` | EvenScheduler.`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
    Constructor and 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 and 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 and 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 and Description
    --- | ---
    `protected Cluster` | NodePool.`cluster`

    Methods in org.apache.storm.scheduler.multitenant with parameters of type Cluster
    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.
    `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
    Constructor and 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 and 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
    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.
    `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 and Description
    --- | ---
    `protected Cluster` | BaseResourceAwareStrategy.`cluster`

    Methods in org.apache.storm.scheduler.resource.strategies.scheduling with parameters of type Cluster
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | ConstraintSolverStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)`
    `protected void` | BaseResourceAwareStrategy.`prepareForScheduling(Cluster cluster, TopologyDetails topologyDetails)` Initialize instance variables as the first step in `BaseResourceAwareStrategy.schedule(Cluster, TopologyDetails)`.
    `SchedulingResult` | IStrategy.`schedule(Cluster schedulingState, TopologyDetails td)` This method is invoked to calculate a scheduling for topology td.
    `SchedulingResult` | BaseResourceAwareStrategy.`schedule(Cluster cluster, TopologyDetails td)` Note that this method is not thread-safe.
    `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 and Description
    --- | ---
    `protected Cluster` | NodeSorterHostProximity.`cluster`
    `protected Cluster` | NodeSorter.`cluster`

    Constructors in org.apache.storm.scheduler.resource.strategies.scheduling.sorter with parameters of type Cluster
    Constructor and 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.

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